---
title: "When Is It Fair to Tax the Rich? The Importance of Pro-Social Behavior"
author: "Kris-Stella Trump"
date: \today
thanks: "Author affiliation: Johns Hopkins University. Email: kstrump@jhu.edu. Phone: 410-516-7540. Thank you to Mariana Alvarado Chavez, Allison Anoll, Michael Becher, Kattalina Berriochoa, Marius Busemeyer, Charlotte Cavaille, Cosette Creamer, Peter Thisted Dinesen, Ryan Enos, Eric Groenendyk, Katharina Hecht, Alexander Horn, Michelle Io-Low, Gabriele Magni, Sparsha Saha, Lisa Saum-Manning, Jan Zilinsky, Christina Zuber, and audience members at the European University Institute, the University of Geneva, the University of Gothenburg, the University of Konstanz, the University of Zurich, the APSA Annual Convention, the MPSA Annual Convention, the NEAPP Workshop, and the SPEAR Workshop for useful feedback. Thank you to Anton Strezhnev for generously sharing random forest code. Thank you to Michelle India Miller, Michael Nannings, and Luisa Winter for research assistance. This work was in part financed by the Politics of Inequality Cluster at the University of Konstanz, funded by the Deutsche Forschungsgemeinschaft (DFG – German Research Foundation) under Germany's Excellence Strategy – EXC-2035/1 – 390681379. The pre-registration for studies 2 and 3 is available at https://osf.io/6prba, and replication materials are available on the Comparative Political Studies Dataverse at https://dataverse.harvard.edu/dataverse/cps."
header-includes:
   - \usepackage{setspace}\doublespacing
   - \setlength\parindent{24pt}
   - \usepackage{pdflscape}
   - \newcommand{\blandscape}{\begin{landscape}}
   - \newcommand{\elandscape}{\end{landscape}}
output: 
  pdf_document:
    number_sections: false
    fig_caption: yes
fontsize: 12pt
bibliography: taxtherich.bib 
csl: apa-5th-edition.csl
abstract: "Politicians, activists, and the rich themselves variously describe rich people as hard workers, greedy tax avoiders, generous philanthropists, and more. Occasionally, such descriptions are wielded in attempts to legitimize or delegitimize high income taxes on the rich. However, we do not have a good understanding of which of these appeals are most successful. This article explores which attributes of the rich affect support for progressive taxation. First, I use an inductive approach to derive relevant attributes from open-ended survey responses and prior literature. Then, pre-registered experiments in the United States and Denmark show that when the rich exhibit pro-social behaviors (e.g. treating workers well, not using tax loopholes), this reduces public support for taxing them. In comparison, indicators of merit (e.g. working hard) are of secondary or even insignificant importance. I conclude that in redistributive politics, the perceived pro-social behavior of the rich is a key consideration for the public."
---

\clearpage

```{r setup, include=F}
# r version 4.4.1
# all packages updated on 02 October 2024
# cregg has been archived from cran; version 4.0 installed from source https://cran.r-project.org/src/contrib/Archive/cregg/

library(tidyverse)
library(qualtRics)
library(ggplot2)
library(RColorBrewer)
library(pander)
library(haven)
library(cregg) 
library(ggpubr)
library(kableExtra)
library(patchwork)

here::i_am("Tax the rich manuscript.Rmd")
library(here)

knitr::opts_chunk$set(echo = FALSE)
options(digits=2, scipen=999)
panderOptions('round', 0)
panderOptions('keep.trailing.zeros', TRUE)
```

# Introduction

When is it fair to tax the rich? Political debates about taxing high-income earners sometimes emphasize systemic factors such as urgent needs to pay for wars [@scheve2016] or ideological principles such as equal treatment by the state [@alvarado2024; @scheve2022]. But the public debate over taxing the rich also references attributes of the rich themselves, such as how they became rich, and how they behave now that they are rich. These individual attributes are referenced by the rich themselves and also by politicians. To give a prominent example, consider Jeff Bezos, owner of Amazon and currently one of the world's richest individuals. Bezos himself emphasizes his work ethic and modest background: in a 2017 interview he talked about having learned the values of self-reliance, resourcefulness, and kindness from his grandfather who lived in a rural community "in the middle of nowhere" [@umoh2017]. Politicians have described him in more varied ways, either declaring that actions he has taken through Amazon reflect "atrocious greed", or describing Amazon as "an American success story" that had its start operating out of a garage [@rapace2020]. The image of Bezos — and more broadly, the image of the rich as a group — is contested by political actors who want to influence policies that affect the rich. Do the rich exploit workers while enriching themselves? Or are they job-creators who have worked their way up the economic ladder?

This project explores the political power of these descriptions. Do the perceived attributes of the rich affect whether taxing the rich is seen as desirable? Which of these attributes matter the most? Prior research suggests that these are plausible questions to ask, since we know that perceptions of the rich are correlated with support for taxing the rich. For example, perceiving the rich as competent [@sadin2017], warm [@hansen2018; @io-low2021], or deserving [@bower-bir2022] predicts lower support for taxing the rich. On the other hand, believing that the rich are selfish predicts support for government actions to reduce inequality [@almas2022]. Additionally, experimental research shows that at least some such patterns are causal. For example, support for taxing the rich responds to whether the rich engage in conspicuous consumption [@sands2020] and whether they are seen as greedy [@hansen2023; @kane2023]. However, we do not yet have a systematic understanding of the landscape of relevant attributes, or a generally accepted and validated framework for categorizing them.

This article presents a cumulative sequence of studies that 1) characterize which attributes people associate with the rich, 2) assess which of these attributes matter most for attitudes toward taxation, and 3) explore the cross-cultural and cross-party stability of these patterns.

Theoretically, this article is broadly situated in the sociotropic literature [@kinder1981a]. According to this approach, citizens conceive of society as composed of distinct groups, whose perceived interests are taken into account when formulating support and opposition to public policy [@mutz1997; @achen2016]. These groups structure people's thoughts about politics [@conover1988], and each group is associated with stereotypes and valences that are partly derived from their real-world status [@schneider1993]. The groups can be constructed along any number of ascriptive dimensions, but for the purposes of the politics of redistribution, socio-economic class is a key category. In this article, I will focus on the popular imagination as it relates to two groups most relevant to questions of progressive taxation: the rich and the poor.

Looking at these groups, there is a significant literature on how attributes of the poor affect attitudes toward social welfare, but the literature on attitudes toward the rich is more fragmented. The relatively consolidated literature about the poor shows that perceived attributes of the poor strongly affect public attitudes toward policies that affect the poor, and that these dynamics persist across cultures and party affiliations [@petersen2011]. I expect this dynamic (whereby the perceived attributes of a group influence support for policies that affect that group) to function similarly when it comes to attitudes toward taxing the rich. However, the specific attributes that matter most when it comes to the rich are unlikely to be straight-forward mirrors of the relevant attributes of the poor [@hansen2023], and the literature suggests a wide range of potentially relevant attributes [@ragusa2015; @sadin2017]. The lack of an agreed-upon framework for understanding attitudes toward the rich, combined with an abundance of potentially relevant related theoretical frameworks, mean that a cross-national comparative approach testing a range of attributes is appropriate. This approach can first help identify a reasonable range of potentially relevant attributes, and then explore which of them are most important.

Empirically, this paper thus starts with an inductive approach, followed by confirmatory experimental studies. The first, inductive, study collected Americans' open-ended associations with the "deserving" and "undeserving" rich. The responses were combined with themes from the literature to develop a list of eight attributes whose relevance to taxation attitudes was tested experimentally. The attributes can be roughly divided into three post-hoc categories: how much money the rich have (income), how they got the money (hard work, inheritance), and how they behave now that they are rich (charitable giving, tax avoidance, conspicuous consumption, and treating workers well).

The results from the first study informed the design of pre-registered conjoint survey experiments carried out on quota-based online samples recruited in the United States and Denmark. The experiments tested the hypothesis that each of the attributes listed above would affect support for taxing the rich. Additionally, drawing on the literature regarding public attitudes toward programs that help the poor, I predicted that treatment effects would be consistent across the two cultural contexts (the United States and Denmark), as well as across left-wing and right-wing respondents in both countries.

The results show that support for taxing the rich is affected by some, but not all, tested attributes. Describing a rich individual as a hard worker or as having a modest family background does not substantially affect public willingness to tax their income. Instead, support for taxing the rich increases most when the rich are described as having very high incomes, using tax loopholes, or treating workers unfairly. Charitable donations and conspicuous consumption also matter, but with smaller effect sizes. As hypothesized, the results of the experiment were the same in the United States and Denmark. The results also hold for both right-wing and left-wing respondents in both countries, but with some differences in the magnitude of the effects.

The results undermine the intuitive notion that perceptions of merit — such as the hard work and economic mobility of the rich — are key determinants of support for taxing the rich. This finding can help reconcile the observation that in the United States, comparatively strong perceptions of economic mobility [@alesina2018] co-exist with solid support for taxing the rich [@ballard-rosa2017]. Instead, the most powerful treatment effects arise from what we might call the "pro-social" behaviors of the rich: paying taxes and treating workers well, as well as giving to charity and avoiding conspicuous consumption. I group these behaviors under the "pro-sociality" umbrella because they depict the target as a cooperative member of society: not taking advantage of others nor evading the formal and informal rules of the social system. This observed importance of pro-social behavior by the rich reinforces the recent argument to this effect in @hansen2023.

In the sections that follow, I first summarize what we know about the role of public perceptions of the rich in the politics of redistribution, and briefly compare this to what we know about the role of public perceptions of the poor. I then present the empirical studies, divided into inductive and confirmatory, and conclude with a discussion of the findings.

# Which attributes of the rich matter?

Research on public support for redistribution has tended to focus on the importance of the perceived attributes of the poor. However, attitudes toward redistribution also include perceptions of, and support for taxing, the rich. We should not assume that the two types of attitudes mirror each other: attitudes toward redistributing "from the rich" are distinct from attitudes toward redistributing "to the poor", follow different over-time trajectories, and predict vote choice differently [@cavaille2015; @attewell2021; @cavaille2023]. While the importance of the perceived attributes of the poor in support for redistribution is relatively well understood, the role of the perceived attributes of the rich in attitudes toward taxing the rich is relatively less well studied.

Broadly speaking, the literature on attitudes toward taxation in the United States, which is a focal point of this study, concludes that there is considerable support for taxing the rich. The American public generally thinks that the rich should pay more in taxes [@kluegel1986; @page2009; @mccall2013; @piston2018], that the rich have more than they deserve [@piston2018], that marginal income tax rates should be higher for the rich than for others [@ballard-rosa2017; @newman2020a], and that policies that allow the rich to get richer are less fair than other policies [@rodon2020]. This does not mean all progressive policy proposals receive majority support [@bartels2005a; @scheve2019; @guardino2019; @barton2021], but the overall take-away is that, contrary to some popular portrayals, American public opinion is generally supportive of taxing the rich.

In most of the studies cited above, the question of whether there are personal attributes of the rich that make taxation seem more or less acceptable is not explored in detail. To be clear, the evidence shows that evaluations of the rich as undeserving [@mccall2013; @bower-bir2022], or feelings of resentment toward them [@piston2018] matter — but which actions or attributes of the rich inspire these evaluations is not yet clear. This stands in contrast to the literature on support for helping the poor, which has not only established that perceptions of the poor matter [@gilens1999; @aaroe2014], but also has developed theoretical accounts of which attributes of the poor matter and why [@oorschot2000; @petersen2011; @meuleman2020]. Instead of a generally accepted theoretical framework, the literature on support for the rich is fragmented across different theoretical approaches, which jointly propose a variety of potentially relevant attributes.

In the sections that follow, I will summarize some of these approaches, showing that there are several applicable theories which produce partially overlapping predictions about relevant attributes. The plethora of potential variables means that developing a list of attributes for consideration in an experimental setting is not straight-forward. A situation like this stands to benefit from an inductive approach, which I follow by drawing on existing evidence as well as original open-ended survey responses, ultimately compiling a list of plausible variables for testing. These inductive steps are followed by an experimental approach in which the resulting variables are explored side by side, and their relative importance is evaluated.

## Principles of justice

One classical approach to determinants of perceived fairness is the principles of justice framework from social psychology [@deutsch1975]. Recent applications of this framework to support for redistribution include @reeskens2013, @vanhootegem2020, and @sterba2022. @deutsch1975 proposes that the appropriateness of material rewards is evaluated with respect to three justice principles: equality (everyone gets the same allocation), need (resources are allocated based on need), and equity (resources are allocated proportionally to input). When applied to the rich, the principles of equality and need point in the same direction: the mere presence of unequal resources may be an indicator that redistribution is warranted. In the case of equality, any deviation from equal resources would justify redistribution, while in the case of need, resources beyond that which is necessary to meet legitimate needs would be seen as excessive and potentially liable to taxation. Practically speaking, both approaches predict that the mere fact of having a very high income should make taxation appear more acceptable, regardless of other personal attributes of the rich.

The question of equity — or proportional return on inputs — is more complicated but potentially more consequential. @deutsch1975 argues that the principle of equity tends to be dominant when people evaluate outcomes in the context of market economies. Recent empirical investigations have made similar arguments: @obrien2011 argues that perceptions of reciprocity matter for welfare opinions, and @harrs2023 argue that meritocratic principles are the most common fairness principle used by Americans. Additionally, @cavaille2023 argues that perceptions of proportionality are key determinants of attitudes toward redistribution *from the rich* in particular.

Equity principles are broad enough that they may be interpreted and applied in different ways. For example, high incomes may seem equitable if those who earn them are seen as hard workers or unusually talented. Conversely, rewards that exceed proportionality would be considered unfair and potentially subject to taxation. The question of what it means to match or violate proportionality is subjective and may vary across cultures or political groups. Plausible indicators of disproportionate rewards may include income acquired through inheritance, corruption, or nepotism. Overall, while the justice principles are theoretically instructive for thinking about when and why it may be fair to tax the rich, they are also consistent with a wide range of individual attributes being relevant to these judgments.

## Mirroring the attributes of the undeserving poor

An alternative way to generate predictions is to ask whether we can simply "mirror" the attributes that matter when it comes to the poor. As discussed above, public support for social welfare is influenced by perceptions of the beneficiaries, such that policies are deemed fair if the beneficiaries are seen as deserving. A parsimonious framework that accounts for why some poor individuals are seen as deserving focuses on cooperative behavior, also termed reciprocity [@aaroe2014; @petersen2011; @petersen2012a]. According to this framework, beneficiaries of state support are considered undeserving if they display signs of free-riding on collective efforts [@petersen2012b]. A somewhat more expansive account of the deservingness of the poor emphasizes five variables: control, attitude, reciprocity, identity, and need [@oorschot2006; @reeskens2013; @oorschot2017].

Some of these attributes are more readily applied to the rich than others. Most literally, the concept of reciprocity could potentially affect judgments of the rich as well as the poor. Since the poor are viewed as exhibiting reciprocity when they "put in effort" or "work hard", the rich might also be seen as exhibiting reciprocity if they worked their way up the economic ladder or display a strong work ethic. A rich person who works hard may thus be perceived as deserving their income [@shariff2016], which could reduce the appropriateness of taxing this income [@bower-bir2022].

An alternative approach to applying the concept of reciprocity is to consider that perhaps reciprocity is judged by different criteria when it comes to the rich. This argument is made comprehensively by @hansen2023, who argues that the mirror image of policing the poor for free-riding behavior is policing the rich for selfish behavior. Reciprocity, in other words, looks different depending on one's position in society, and the rich are expected to give back to their communities and avoid selfish or greedy behaviors. This approach predicts that, when it comes to taxing the rich, whether the rich engage in pro-social behaviors such as charitable giving should be particularly consequential.

The additional @oorschot2006 criteria of identity, attitude, need, and control can be similarly adapted but with somewhat more ambiguity in "translation". For example, need may be re-interpreted as a question of whether the rich have *more* than they need, attitude may be re-interpreted as humility/modesty, and control may be reinterpreted as luck that has helped the rich become successful [@sadin2017]. The question of in-group identity may also take on a different valence, perhaps with non-native rich people seen as less subject to taxation. However, there is substantial uncertainty and speculation in these suggestions, as it is not always clear how a given criterion would translate. Because these criteria were originally developed with the poor in mind, it is unsurprising that not all of them clearly translate to a "mirror" version of the same criterion for the rich. To be clear, this is not a criticism of the original framework, which was developed specifically to apply to the poor, but it does mean that its usefulness for understanding attitudes toward the rich may be limited.

## Unique attributes of the rich

There may also be unique considerations that are applied to the rich and that cannot be derived from what we know about attitudes toward the poor. The rich have a different socio-economic position and valence than the poor, and policies that affect them are frequently described as taking away from the rich (as contrasted with giving to the poor). As a result, it may be that how income is acquired is a key consideration for the fairness of taxing the rich. This proposition is prominent in research that focuses on perceived meritocracy as an influence on attitudes toward redistribution.

Existing work on perceptions of meritocracy generally argues that these perceptions affect support for redistribution, even as individual pieces disagree on whether perceptions of meritocracy have increased or decreased in recent decades. In general, attributing the wealth of rich people to meritocratic factors such as hard work or intelligence is associated with support for lower taxes [@sadin2017; @ragusa2015; @shariff2016; @suhay2020; @kim2023]. Recent increases in economic inequality may have reduced public perceptions of the possibility of upward mobility [@mccall2017; @wolak2020a; @manza2021], increasing support for redistribution [@garcia-sanchez2019; but see @mijs2021]. The common thread in this literature is that perceived meritocracy is expected to increase perceptions of the rich as "self-made", which in turn justifies their high incomes, making progressive taxes appear less justified.

On the flip side, there may also be unique negative connotations with the rich (i.e. considerations which are not readily applied to the poor). For example, recent evidence shows that rich people who are seen as greedy [@kane2023], selfish [@almas2022], or uncharitable [@black2020] are seen as less deserving of their position and/or more deserving of taxation. Additionally, @mcclendon2018 argues that well-off people who do not follow social conventions that limit and organize displays of wealth inspire envy, which gets expressed politically as support for redistribution. This predicts that demand for redistribution increases when the rich conspicuously display their wealth; this prediction is consistent with the evidence in @sands2020.

## Relationship to the state

A final consideration to address is the relationship that the rich may have with the state. @almas2022 show that in countries with more widespread corruption, the rich are perceived as selfish, and this predicts higher support for redistribution. @alvarado2024 tests the argument that preferential treatment from the state causes high incomes to appear undeserved, and finds that when high incomes are the result of state actions, people support additional state action (such as taxation) to reverse the impact of the preferential treatment. These findings echo the observation in @williamson2017 that the most frequent complaint Americans have regarding the income tax system is that it allows the rich to avoid "paying their fair share" in taxes. In sum, the perceived relationship between the rich and the state may be an additional important variable in the politics of taxation.

## Summary

As this overview makes clear, there is no shortage of plausible theories regarding how people judge whether the rich deserve their incomes and whether taxing the rich is justified. Not only are there numerous features of the rich that may matter, many of these approaches produce partially overlapping predictions, as can be seen in the recurrence of factors like hard work, generosity, and conspicuous consumption. The overall picture is an abundance of potentially relevant features, some of which may be more important than others.

The variety of plausible predictions poses a challenge when it comes to selecting a small number of attributes of the rich for empirical testing; any specific selection risks overlooking some potentially relevant attributes. A selection derived from any one existing theoretical framework may overlook important variables raised by alternative frameworks. Additionally, even a combination of theories may overlook factors that the public considers important, but which do not yet appear in our theoretical accounts of attitudes toward taxing the rich.

To alleviate these concerns, I choose to start with an inductive study, in which I elicit American respondents' open-ended associations with the deserving and the undeserving rich, as well as their associations with the idea of paying one's fair share in taxes. The results will be combined with insights from the literature review to select a set of attributes for inclusion in an experiment. The attributes will be selected if they are prominent in open-ended responses, with consideration also given for being compatible with one or more theoretical approaches, and for being reasonably relevant for policy-making. The aim of the inductive study is thus to identify a sequence of attributes that are theoretically relevant, but also reflective of the considerations regular citizens bring to bear when they think about taxing the rich.

# Hypotheses and empirical approach

The specific attributes to be tested in the experimental studies (Studies 2 and 3) will be identified based on the results from the inductive study (Study 1). Therefore, in this section I state a broad version of the hypotheses, one that specifies the expected relationship between attributes of the rich and support for taxing the rich but does not include the specific attributes that will be examined. After Study 1, the hypotheses will be rephrased to be more specific; at that point they will also be pre-registered. In other words, the initial formulation of the main hypothesis is deliberately broad:

> *Hypothesis 1 (H1):* Individual attributes of the rich affect respondents' support for taxing the rich.

Despite the fact that the specific attributes under consideration are not defined before conducting the inductive study, I expect that the selected attributes will conform to a general logic of how perceptions of social groups influence attitudes toward policies that affect those groups.

Specifically, I expect that the relationships found in the experiment (between individual attributes of the rich and the perceived appropriateness of taxing them) will persist across different cultural landscapes and political attitudes, at least across a reasonable range of industrialized, democratic, capitalist countries. This expectation is derived from existing findings regarding support for policies that help the poor, which has found that attribute content regarding the poor has similar impacts in the United States and Denmark [@aaroe2014], and across people with different political values in those countries [@petersen2011]. Additionally, @hansen2023 shows that the role that perceptions of greed play in attitudes toward the rich is similar in the United States and Denmark. This line of inquiry builds on a logic of evolutionary psychology, which proposes that human beings have specialized psychological adaptations for thinking about social exchange [@cosmides2015; @bangpetersen2023], and that as a result there are consistencies across cultures and political leanings in how humans reason about fair sharing of resources within groups.

Because reasoning about taxing the rich is a form of reasoning about social exchange, I hypothesize that treatment effects will persist across cultural and political differences. Following the established literature on reasoning about resource sharing with the poor, I chose Denmark as a comparison to the United States, in order to stay within the universe of rich, democratic nations with market-based economies, while maximizing differences in income inequality and taxation [@atkinson2016a], as well as welfare state protections [@thelen2021].

> *Hypothesis 2:* The treatment effects will not be significantly different between the US and Danish samples.

> *Hypothesis 3:* The treatment effects will not be significantly different between left-wing and right-wing respondents.

Empirically, this paper will explore how features of *individual* rich targets affect support for taxing those targets. Understanding these individual-target level effects matters, because we can expect their group-level equivalents (i.e. perceptions of the rich as a group) to affect support for general policies. The mechanism that links such individual-level judgments to society-level attitudes is the human tendency to stereotype social groups. For example, when it comes to the poor, the link between perceptions of beneficiaries and support for social welfare programs holds for individual recipients [@aaroe2014] as well as groups who are (seen as) recipients [@oorschot2006, @gilens1999]. When the poor as a group are perceived as lazy and therefore undeserving, public support for welfare programs is lower. Conversely, when the poor as a group are seen as unlucky, support for welfare programs is higher [@aaroe2014]. This dynamic explains why stereotyping disadvantaged minority group members as lazy or unmotivated causes lower support for welfare programs [@gilens1999; @oorschot2017]. Following this logic, I argue that if the rich are stereotyped as, for example, generous, then this is likely to affect support for general policies that benefit the rich. The studies in this paper address the first step of this dynamic, asking which attributes of rich individuals affect support for taxing those same individuals.\footnote{Because the items ask about individuals, the results may be affected by person-positivity bias, whereby individuals are rated more positively than the groups they are part of (Sears 1983). Person-positivity bias manifests disproportionately for unlikeable characteristics (Miller \& Felicio 1990). As a result, the group-level effects of negatively valenced attributes may be larger than the individual-level effects measured here.} The results can be used to inform follow-up studies on the prevalence and consequences of perceptions of the rich as a group.

Finally, some notes on scope. First, due to resource constraints, the attributes will be extracted from a study conducted on American, but not Danish, respondents. This means that the experiments cannot speak to whether there are additional attributes that matter in Denmark but do not surface through the open-ended exercise in the United States. Second, these studies focus on "the rich" as defined by income only. While wealth inequality is an important topic, there is not yet much research on whether and when the public differentiates between those who are rich by income and those who hold a lot of wealth, which makes manipulations of wealth inequality difficult to design and interpret. Third, the studies in this paper deliberately use a narrow dependent variable: whether income taxes for the target should be increased or decreased. This way, the dependent variable is easy to understand and connect to the experimental vignettes.

In sum, the studies presented in this article: 1) use an inductive approach to extract relevant attributes of the rich from qualitative survey responses, 2) show that a theoretically relevant subset of these attributes influence support for taxing the rich, and 3) demonstrate that the results are stable across two different national and political contexts.

# Study 1: Attributes associated with the (un)deserving rich

```{r study1 data prep, include=FALSE}
#read in data
study1 <- read.csv(here("Study 1", "Study 1 data.csv"))

#recode data for analysis. 
study1 <- study1 %>% 
  mutate(
    redistr_agree = 6 - redistr_agree,
    tax_highinc_agree = 6 - tax_highinc_agree,
    redistr_fair = replace(redistr_fair, redistr_fair==5, 4), #needed to fix a mistake in the qualtrics numeric codes assigned to downloaded responses, which can also be seen in codebook
    redistr_fair = replace(redistr_fair, redistr_fair==6, 5),
    redistr_fair = 6 - redistr_fair,
    tax_highinc_fair = 6 - tax_highinc_fair,
    getahead = 6 - getahead,
    rr = (((6-rr_1) + rr_2 + rr_3 + (6-rr_4))-4)/16,
    male = gender==1,
    age = 2020-year_born,
    multiracial = str_length(race>1),
    white = race==1,
    black = race==2,
    hispanic = hispanic==1,
    south = state==(45|37|4|19|25|1|44|18|50|21|9|8|48|34|42|11|10),
    married = marital==1,
    dem_lean = replace_na(dem_lean, 0),
    rep_lean = replace_na(rep_lean, 0),
    indep_lean = replace_na(indep_lean,0),
    partisan_republican = 1*(dem_lean==1) + 2*(dem_lean==2) + 3*(indep_lean==3) + 4*(indep_lean==4) + 5*(indep_lean==5) + 6*(rep_lean==6) + 7*(rep_lean==7),
    partisan_republican = replace(partisan_republican, partisan_republican==0, NA),
    college = educ>3,
    hh_income_thou = recode(hh_inc, `1`=5, `2`=15, `3`=25, `4`=35, `5`=45, `6`=55, `7`=65, `8`=75, `9`=85, `10`=95, `11`=125, `12`=175),
    open_fairshare = ifelse(fairshare_open=="", 0, 1),
    open_rich = ifelse(deserve_open=="" & undeserve_open=="", 0,1)
  )

#top coding of the "what does it take to be rich" response
study1 <- study1 %>% 
  mutate(inc_rich_clean = as.numeric(inc_rich_clean),
    inc_rich_trunc = ifelse(inc_rich_clean>=1000000,1000000,inc_rich_clean))

#separate out partisans incl leaners
dems <- study1 %>% 
  filter(partisan_republican<4)
reps <- study1 %>% 
  filter(partisan_republican>4)
```

## Research design

The first study was exploratory, asking Americans what comes to mind when they imagine the deserving and the undeserving rich, and when they consider what it means for the rich to pay their fair share in taxes. Half of the respondents were asked two questions about rich people (presented in randomized order; randomized element in square brackets):

-   "Some people make a lot more money than others. Please imagine a person who is rich and has a good income. Now, imagine that this person [clearly has more than what they deserve]/[deserves what they have, fair and square]. Please describe what comes to mind when you think about this person."

The remaining half were asked what comes to mind when they think about the rich paying their fair share in taxes:

-   "Sometimes people talk about asking the rich to \`pay their fair share' in taxes. In talking to people, we've found that people think about a range of different things when they consider this. What comes to mind when you think about whether the rich \`pay their fair share' in taxes?"

The prompts about rich individuals did not refer to taxation, because I was interested in the universe of attributes that people associate with the rich. I also chose to specify that people should think about the deserving/undeserving rich, in order to elicit responses that do not depend on people's perceptions of what share of actual rich people are deserving. The second prompt counter-balances this approach by explicitly asking about taxing the rich.

The study was fielded in June 2020 on the survey participant service Prolific Academic to a convenience sample of `r nrow(study1)` respondents who were residents of the United States.\footnote{This study was approved by the University of Memphis IRB.} The respondents were `r round(sum(study1$male==1, na.rm=T)*100/nrow(study1),0)`% male, `r round(sum(study1$white==1, na.rm=T)*100/nrow(study1),0)`% white, and `r round(sum(study1$college==1, na.rm=T)*100/nrow(study1),0)`% college-educated. The median age of the respondents was `r round(median(study1$age, na.rm=T),0)`. `r round(sum(study1$partisan_republican>4, na.rm=T)*100/nrow(study1),0)`% of respondents were Republican or Republican-leaning. Due to the relatively small number of Republican respondents, the sample may not be well suited for giving a representative picture of the attitudes of right-wing Americans. Subsequent studies in this article take steps to recruit an ideologically more balanced sample; for this study, the results are presented in the aggregate as well as broken down by respondent partisanship, in order to avoid overlooking considerations that may be disproportionately important to the smaller number of Republicans in this sample.

A full description of the analysis is available in Appendix A1. To summarize, as a first step I read the responses and developed response categories that reflected distinct themes (for example "hard work" or "inheritance"). This step was performed without prejudice to how often a theme occurred, and without mapping the themes to theoretical expectations. This process resulted in 20 themes identified in the reactions to (un)deserving rich people and 9 themes identified in the reactions to "paying one's fair share".

The resulting coding scheme was implemented by two additional independent coders, and cross-coder consistency was evaluated. Consistency was defined as all three coders giving the same score to a response-theme pair. One theme was dropped due to failure to achieve cross-coder consistency; all other themes achieved cross-coder agreement of 80% or above. For analysis, responses were coded as expressing a theme only if all three coders agreed that the theme was present. The tables in the main text show the subset of themes that were mentioned by at least 3% of respondents, effectively dropping themes that were mentioned by fewer than 9 respondents. See Appendix A1 for additional discussion.

## Results

Tables \ref{tab:oe_deserving_short} and \ref{tab:oe_undeserving_short} show the most common reactions to the (un)deserving rich, reported separately for the "deserving" and "undeserving" prompts.\footnote{In general, respondents were willing and able to describe both deserving and undeserving rich people. A small share of respondents argued they could not imagine a deserving rich person (2 of 301 respondents) or an undeserving rich person (7 of 301 respondents).} As Table \ref{tab:oe_deserving_short} illustrates, hard work is — by far — the attribute respondents most associate with a deserving rich person; it was mentioned by `r round(sum((study1$d_hardwork), na.rm=T)*100/sum(study1$open_rich, na.rm=T),0)`% of respondents. Another `r round(sum((study1$d_giveback), na.rm=T)*100/sum(study1$open_rich, na.rm=T),0)`% mention that the person should give back to society through charity or by contributing to their communities. Interestingly, responses in this category did not express confidence that charitable giving occurred; rather, the responses were phrased as expectations, for example "they should give back to their community". Smaller shares of respondents thought that the deserving rich had worked their way up from a modest family background (`r round(sum((study1$d_modestbgr), na.rm=T)*100/sum(study1$open_rich, na.rm=T),0)`%), had positive personality traits such as being generous, compassionate, or caring (`r round(sum((study1$d_positive), na.rm=T)*100/sum(study1$open_rich, na.rm=T),0)`%), should pay higher taxes (`r round(sum((study1$d_highertaxes), na.rm=T)*100/sum(study1$open_rich, na.rm=T),0)`% overall, more common among Democrats), or deserved to keep their money (`r round(sum((study1$d_keepmoney), na.rm=T)*100/sum(study1$open_rich, na.rm=T),0)`% overall, more common among Republicans).

```{r open ended results deserving rich short table}
oe_names <- c("Worked hard", "Should give back to society", "From modest background", "Positive personality traits", "Should pay higher taxes", "Deserve to keep money")
oe_all <- c(sum((study1$d_hardwork), na.rm=T)/sum(study1$open_rich, na.rm=T), sum((study1$d_giveback), na.rm=T)/sum(study1$open_rich, na.rm=T), sum((study1$d_modestbgr), na.rm=T)/sum(study1$open_rich, na.rm=T), sum((study1$d_positive), na.rm=T)/sum(study1$open_rich, na.rm=T), sum((study1$d_highertaxes), na.rm=T)/sum(study1$open_rich, na.rm=T), sum((study1$d_keepmoney), na.rm=T)/sum(study1$open_rich, na.rm=T))
oe_dems <- c(sum((dems$d_hardwork), na.rm=T)/sum(dems$open_rich, na.rm=T), sum((dems$d_giveback), na.rm=T)/sum(dems$open_rich, na.rm=T), sum((dems$d_modestbgr), na.rm=T)/sum(dems$open_rich, na.rm=T), sum((dems$d_positive), na.rm=T)/sum(dems$open_rich, na.rm=T), sum((dems$d_highertaxes), na.rm=T)/sum(dems$open_rich, na.rm=T), sum((dems$d_keepmoney), na.rm=T)/sum(dems$open_rich, na.rm=T))
oe_reps <- c(sum((reps$d_hardwork), na.rm=T)/sum(reps$open_rich, na.rm=T), sum((reps$d_giveback), na.rm=T)/sum(reps$open_rich, na.rm=T), sum((reps$d_modestbgr), na.rm=T)/sum(reps$open_rich, na.rm=T), sum((reps$d_positive), na.rm=T)/sum(reps$open_rich, na.rm=T), sum((reps$d_highertaxes), na.rm=T)/sum(reps$open_rich, na.rm=T), sum((reps$d_keepmoney), na.rm=T)/sum(reps$open_rich, na.rm=T))
oe_deserving_short <- data.frame(Variable = format(oe_names),
                       All = format(oe_all, digits=1),
                       Dems = format(oe_dems, digits=1),
                       Reps = format(oe_reps, digits=1)
                       )
colnames(oe_deserving_short) <- c("Deserving rich themes", "All resp. (N=301)", "Dem. (N=192)", "Rep. (N=70)")
oe_deserving_short_table <- oe_deserving_short %>% 
  kbl(., booktabs=T, caption = "\\label{tab:oe_deserving_short}Themes in open-ended reactions to `deserving rich' prompt") %>% 
  kable_styling(latex_options="scale_down") %>%
  footnote("Showing share of respondents. Table only includes themes mentioned by at least 3% of respondents.")
oe_deserving_short_table
```

```{r open ended results undeserving rich short table}
oe_names <- c("Should give back to society", "Negative personality traits", "Inherited wealth", "Should pay higher tax rates", "Treat others unfairly", "Conspicuous consumption", "Did not work hard", "Have more than they need", "Lucky", "Worked hard")
oe_all <- c(sum((study1$u_giveback), na.rm=T)/sum(study1$open_rich, na.rm=T), sum((study1$u_negative), na.rm=T)/sum(study1$open_rich, na.rm=T), sum((study1$u_inherit), na.rm=T)/sum(study1$open_rich, na.rm=T), sum((study1$u_highertaxes), na.rm=T)/sum(study1$open_rich, na.rm=T), sum((study1$u_unfairtreat), na.rm=T)/sum(study1$open_rich, na.rm=T), sum((study1$u_conspicuous), na.rm=T)/sum(study1$open_rich, na.rm=T), sum((study1$u_nohardwork), na.rm=T)/sum(study1$open_rich, na.rm=T), sum((study1$u_morethanneed), na.rm=T)/sum(study1$open_rich, na.rm=T), sum((study1$u_lucky), na.rm=T)/sum(study1$open_rich, na.rm=T), sum((study1$u_hardwork), na.rm=T)/sum(study1$open_rich, na.rm=T))
oe_dems <- c(sum((dems$u_giveback), na.rm=T)/sum(dems$open_rich, na.rm=T), sum((dems$u_negative), na.rm=T)/sum(dems$open_rich, na.rm=T), sum((dems$u_inherit), na.rm=T)/sum(dems$open_rich, na.rm=T), sum((dems$u_highertaxes), na.rm=T)/sum(dems$open_rich, na.rm=T), sum((dems$u_unfairtreat), na.rm=T)/sum(dems$open_rich, na.rm=T), sum((dems$u_conspicuous), na.rm=T)/sum(dems$open_rich, na.rm=T), sum((dems$u_nohardwork), na.rm=T)/sum(dems$open_rich, na.rm=T), sum((dems$u_morethanneed), na.rm=T)/sum(dems$open_rich, na.rm=T), sum((dems$u_lucky), na.rm=T)/sum(dems$open_rich, na.rm=T), sum((dems$u_hardwork), na.rm=T)/sum(dems$open_rich, na.rm=T))
oe_reps <- c(sum((reps$u_giveback), na.rm=T)/sum(reps$open_rich, na.rm=T), sum((reps$u_negative), na.rm=T)/sum(reps$open_rich, na.rm=T), sum((reps$u_inherit), na.rm=T)/sum(reps$open_rich, na.rm=T), sum((reps$u_highertaxes), na.rm=T)/sum(reps$open_rich, na.rm=T), sum((reps$u_unfairtreat), na.rm=T)/sum(reps$open_rich, na.rm=T), sum((reps$u_conspicuous), na.rm=T)/sum(reps$open_rich, na.rm=T), sum((reps$u_nohardwork), na.rm=T)/sum(reps$open_rich, na.rm=T), sum((reps$u_morethanneed), na.rm=T)/sum(reps$open_rich, na.rm=T), sum((reps$u_lucky), na.rm=T)/sum(reps$open_rich, na.rm=T), sum((reps$u_hardwork), na.rm=T)/sum(reps$open_rich, na.rm=T))
oe_undeserving_short <- data.frame(Variable = format(oe_names),
                       All = format(oe_all, digits=1),
                       Dems = format(oe_dems, digits=1),
                       Reps = format(oe_reps, digits=1)
                       )
colnames(oe_undeserving_short) <- c("Undeserving rich themes", "All resp. (N=301)", "Dem. (N=192)", "Rep. (N=70)")
oe_undeserving_short_table <- oe_undeserving_short %>% 
  kbl(., booktabs=T, caption = "\\label{tab:oe_undeserving_short}Open-ended reactions to `undeserving rich' prompt") %>% 
  kable_styling(latex_options="scale_down") %>%
  footnote("Showing share of respondents. Table only includes themes mentioned by at least 3% of respondents.")
oe_undeserving_short_table
```

As shown in Table \ref{tab:oe_undeserving_short}, reactions to an undeserving rich person were more divided; no one theme was as common as "hard work" was for the deserving rich person. The most common theme was the importance of charitable contributions (`r round(sum((study1$u_giveback), na.rm=T)*100/sum(study1$open_rich, na.rm=T),0)`%); here as above the mentions were expressions of expectation rather than confidence. `r round(sum((study1$u_inherit), na.rm=T)*100/sum(study1$open_rich, na.rm=T),0)`% of respondents mentioned each of 1) negative personality traits such as being greedy, spoiled, or dishonest or 2) inherited wealth. Between 5 and 10% of respondents mentioned each of: that the targets should pay more in taxes, that they probably treat others (especially workers) unfairly by e.g. paying low wages or exploiting others, that they engage in conspicuous consumption, that they do not work hard, that they have more than they need, or that they got lucky.

The remaining respondents were asked what comes to mind when they think about the rich "paying their fair share" in taxes; these results are summarized in Table \ref{tab:oe_fairshare_short}. The single most common response was to express concern about the use of tax loopholes (`r round(sum((dems$f_loopholes), na.rm=T)*100/sum(dems$open_fairshare, na.rm=T),0)`% of Democrats and `r round(sum((reps$f_loopholes), na.rm=T)*100/sum(reps$open_fairshare, na.rm=T),0)`% of Republicans). The second most common response was to endorse progressive tax rates (e.g. "it means that they pay a higher part of their disposable income") or to call for higher taxes on the rich (e.g. "the rich paying more in taxes than they currently do"); these responses were given by `r round(sum((study1$f_highertaxes), na.rm=T)*100/sum(study1$open_fairshare, na.rm=T),0)`% of the sample. Additionally, between 6 and 3% of the sample mentioned each of 1) the rich have more than they need, 2) taxes are important for helping the community, 3) support for a flat tax, 4) the rich deserve to keep their money / already pay enough in taxes, or 5) concern about large corporations paying too little in taxes.

```{r open ended results fair share short table}
oe_names <- c("Concern about use of loopholes", "Explicit support for higher taxes on the rich", "Have more than they need", "Taxes help the community / others", "Support for flat tax", "Deserve to keep money / pay enough taxes", "Concern about corporate taxes")
oe_all <- c(sum((study1$f_loopholes), na.rm=T)/sum(study1$open_fairshare, na.rm=T), sum((study1$f_highertaxes), na.rm=T)/sum(study1$open_fairshare, na.rm=T), sum((study1$f_morethanneed), na.rm=T)/sum(study1$open_fairshare, na.rm=T), sum((study1$f_taxeshelp), na.rm=T)/sum(study1$open_fairshare, na.rm=T), sum((study1$f_flattax), na.rm=T)/sum(study1$open_fairshare, na.rm=T), sum((study1$f_keepmoney), na.rm=T)/sum(study1$open_fairshare, na.rm=T), sum((study1$f_corporate), na.rm=T)/sum(study1$open_fairshare, na.rm=T))
oe_dems <- c(sum((dems$f_loopholes), na.rm=T)/sum(dems$open_fairshare, na.rm=T), sum((dems$f_highertaxes), na.rm=T)/sum(dems$open_fairshare, na.rm=T), sum((dems$f_morethanneed), na.rm=T)/sum(dems$open_fairshare, na.rm=T), sum((dems$f_taxeshelp), na.rm=T)/sum(dems$open_fairshare, na.rm=T), sum((dems$f_flattax), na.rm=T)/sum(dems$open_fairshare, na.rm=T), round(sum((dems$f_keepmoney), na.rm=T)/sum(dems$open_fairshare, na.rm=T),2), sum((dems$f_corporate), na.rm=T)/sum(dems$open_fairshare, na.rm=T))
oe_reps <- c(sum((reps$f_loopholes), na.rm=T)/sum(reps$open_fairshare, na.rm=T), sum((reps$f_highertaxes), na.rm=T)/sum(reps$open_fairshare, na.rm=T), sum((reps$f_morethanneed), na.rm=T)/sum(reps$open_fairshare, na.rm=T), sum((reps$f_taxeshelp), na.rm=T)/sum(reps$open_fairshare, na.rm=T), sum((reps$f_flattax), na.rm=T)/sum(reps$open_fairshare, na.rm=T), sum((reps$f_keepmoney), na.rm=T)/sum(reps$open_fairshare, na.rm=T), sum((reps$f_corporate), na.rm=T)/sum(reps$open_fairshare, na.rm=T))
oe_fairshare_short <- data.frame(Variable = format(oe_names),
                       All = format(oe_all, digits=1),
                       Dems = format(oe_dems, digits=1),
                       Reps = format(oe_reps, digits=1)
                       )
colnames(oe_fairshare_short) <- c("Pay fair share themes", "All resp. (N=302)", "Dem. (N=171)", "Rep. (N=82)")
oe_fairshare_short_table <- oe_fairshare_short %>% 
  kbl(., booktabs=T, caption = "\\label{tab:oe_fairshare_short}Themes in open-ended reactions to `pay fair share' prompt") %>% 
  kable_styling(latex_options="scale_down") %>%
  footnote("Showing share of respondents. Table only includes themes mentioned by at least 3% of respondents.")
oe_fairshare_short_table
```

## Discussion and selection of treatment variables for conjoint experiments

The open-ended nature of the responses from this study make the results a good complement to the theoretical approaches outlined earlier in the article. Partly, the open-ended responses show which theoretically anticipated variables are salient in the mind of the public, and partly, they help with wording choices when there are many potential ways to operationalize a theoretical expectation.

Most prominently, the open-ended associations with the (un)deserving rich reinforce the centrality of "hard work" in Americans' perceptions of the rich. In addition to the many literal references to hard work, notable shares of respondents mention related considerations: that a deserving rich person worked their way up from a modest background, and that an undeserving rich person inherited their wealth. These themes reflect theoretical frameworks that center on reciprocity and meritocracy; as such, the experiment will include variables for hard work and family background. Additionally, respondents bring up the importance of using one's riches to give back to society. This consideration reflects the theoretical expectation that pro-social actions may matter. Accordingly, the survey experiment will vary the charitable contributions record of the targets and interpret this as a signal of pro-social behavior.

The remaining themes included a mix of references to relatively subjective characteristics (such as personality traits) and relatively more verifiable attributes (such as engaging in conspicuous consumption or treating one's workers unfairly). In the follow-up experiments, I chose to manipulate actions rather than personality traits. In this choice, I follow the literature on attitudes toward the poor: while the perception that the poor are lazy (a personality trait) is central to attitudes toward welfare programs, in experiments that establish this connection, the relevant trait is communicated through concrete actions, such as whether the person has a continuous history of employment and whether they are looking for work [@aaroe2014; @reeskens2019]. Following this approach, I vary whether the rich targets treat their workers fairly and whether they engage in conspicuous consumption, but do not directly describe them as e.g. greedy or snobby. Whether workers are treated fairly is a variable that may not have been included in the study were it not for the results from the open-ended responses; while it is post-hoc consistent with the idea of pro-social behavior being important, I am not aware of previous studies where the pro-social attribute is operationalized as fair treatment of workers. Conspicuous consumption, on the other hand, is well represented in prior literature, perhaps especially in treatments that consider envy as a key emotion involved in redistributive politics [@mcclendon2018].

The open-ended reactions to "paying one's fair share" highlight an additional consideration, one that also may not have been included in this form based on the theoretical review: the perception that loopholes allow the rich to pay too little in taxes. The salience of this theme echoes related findings in @williamson2017 that Americans worry the tax system unfairly allows the rich to avoid taxes, and in @alvarado2024 that preferential treatment by the state increases support for corrective action in the form of higher taxes. It is also possible to interpret the use of loopholes as another example of (a lack of) pro-social behavior; through this lens the variable echoes the theoretical expectations regarding pro-social behavior in @hansen2023. I therefore include in the follow-up experiment a variable about whether the rich target exploits legal tax loopholes.

This study indicates what comes to mind for Americans when they think about the deserving and undeserving rich; the next question is whether and which of these considerations influence their support for taxing the rich. Exploring this connection explicitly is important, because the associations uncovered here may not have causal impacts on support for taxation. The next studies in this paper therefore experimentally test whether attributes of the rich influence support for progressive taxes.

# Studies 2-3: Pre-registered studies in the United States and Denmark

```{r data prep for analysis of US/Lucid conjoint, include=F, warning=FALSE}
#read in data
lucid_raw <- read_survey(here("Study 2", "Study 2 data.csv"), add_var_labels=F, add_column_map = F)

#recode data for analysis. 
lucid <- lucid_raw %>% 
  rename(vig1_gender = gender_reg_1,
         vig1_income = income_1,
         vig1_family_bgr = family_bgr_1,
         vig1_hard_work = hard_work_1,
         vig1_treat_workers = treat_workers_1,
         vig1_loopholes = loopholes3_1,
         vig1_charity = charity_1,
         vig1_consumption = consumption_1,
         vig2_gender = gender_reg_2,
         vig2_income = income_2,
         vig2_family_bgr = family_bgr_2,
         vig2_hard_work = hard_work_2,
         vig2_treat_workers = treat_workers_2,
         vig2_loopholes = loopholes3_2,
         vig2_charity = charity_2,
         vig2_consumption = consumption_2,         
         vig3_gender = gender_reg_3,
         vig3_income = income_3,
         vig3_family_bgr = family_bgr_3,
         vig3_hard_work = hard_work_3,
         vig3_treat_workers = treat_workers_3,
         vig3_loopholes = loopholes3_3,
         vig3_charity = charity_3,
         vig3_consumption = consumption_3,
         ) %>%
  select(-gender_poss_1, -gender_obj_1, -gender_cap_1, -loopholes0_1, -loopholes1_1, -loopholes2_1,-gender_poss_2, -gender_obj_2, -gender_cap_2, -loopholes0_2, -loopholes1_2, -loopholes2_2, -gender_poss_3, -gender_obj_3, -gender_cap_3, -loopholes0_3, -loopholes1_3, -loopholes2_3) %>%
  mutate(
    rr = (((6-rr_1) + rr_2 + rr_3 + (6-rr_4))-4)/16,
    male = gender_lucid==1,
    age_q = 2020-year_born,
    white_lucid = ethnicity_lucid==1,
    black_lucid = ethnicity_lucid==2,
    hispanic_lucid_dummy = hispanic_lucid!=1 & hispanic_lucid!=15,
    multiracial_q = str_length(race>1),
    white_q = race==1,
    black_q = race==2,
    hispanic_q = hispanic==1,
    south_q = state==(45|37|4|19|25|1|44|18|50|21|9|8|48|34|42|11|10),
    south_lucid = region_lucid==3,
    married = marital==1,
    republican_lucid = political_party_lucid==2,
    democrat_lucid = political_party_lucid==1,
    dem_lean = replace_na(dem_lean, 0),
    rep_lean = replace_na(rep_lean, 0),
    indep_lean = replace_na(indep_lean,0),
    partisan_republican_q = 1*(dem_lean==1) + 2*(dem_lean==2) + 3*(indep_lean==2) + 4*(indep_lean==3) + 5*(indep_lean==1) + 6*(rep_lean==2) + 7*(rep_lean==1),
    college_lucid = education_lucid>7 & education_lucid<12,
    college_q = educ>3,
    hh_income_thou_q = recode(hh_inc, `1`=5, `2`=15, `3`=25, `4`=35, `5`=45, `6`=55, `7`=65, `8`=75, `9`=85, `10`=95, `11`=125, `12`=175),
    hh_income_thou_lucid = recode(hhi_lucid, `1`=7.5, `2`=17.5, `3`=22.5, `4`=27.5, `5`=32.5, `6`=37.5, `7`=42.5, `8`=47.5, `9`=52.5, `10`=57.5, `11`=62.5, `12`=67.5, `13`=72.5, `14`=77.5, `15`=82.5, `16`=87.5, `17`=02.5, `18`=97.5, `19`=112.5, `20`=137.5, `21`=162.5, `22`=187.5, `23`=225, `24`=275),
    hh_income_above_median = ifelse(hh_income_thou_q>median(hh_income_thou_q, na.rm=T), "Above Median", ifelse(is.na(hh_income_thou_q), NA, "Below median")),
    partisanship_q_dummy = ifelse(partisan_republican_q < 4, "Democrat", ifelse(partisan_republican_q > 4, "Republican", NA))
  )

#screeners and exclusions
sum(lucid$Q_TerminateFlag=="Screened", na.rm = T)
lucid <- lucid %>% mutate(screened = ifelse(Q_TerminateFlag=="Screened", 1,0),
                          screened = replace_na(screened,0))
sum(lucid$screened==1)/nrow(lucid)
#38% screened out

#filter, keeping those who passed the screeners
#also filter out observations where lucid income measure did not come through - these should be excluded because they were also not used for balancing the final sample
lucid <- lucid %>% filter(screened!=1) %>%
  filter(is.na(hhi_lucid)!=1)

#how many finished
sum(lucid$Finished==1 & lucid$screened==0) #1825 completions
sum(lucid$Finished==0 & lucid$screened==0) #220 dropped out after passing screener
#lucid also does not use partial completions for demographic balancing - exclude partials here
lucid <- lucid %>% filter(Finished==1)


#reformat data for conjoint analysis - task-based 
respondents <- lucid %>%
  select(-starts_with("vig"))

vig1_vars <- lucid %>% 
  select(starts_with("vig1"), resp_id) %>%
  rename_all(
    funs(
      stringr::str_replace_all(., 'vig1','vig')
    )
  ) %>%
  mutate(vig_number = 1) %>% 
  left_join(.,respondents, by="resp_id")

vig2_vars <- lucid %>% 
  select(starts_with("vig2"), resp_id) %>%
  rename_all(
    funs(
      stringr::str_replace_all(., 'vig2','vig')
    )
  ) %>%
  mutate(vig_number = 2) %>% 
  left_join(.,respondents, by="resp_id")

vig3_vars <- lucid %>% 
  select(starts_with("vig3"), resp_id) %>%
  rename_all(
    funs(
      stringr::str_replace_all(., 'vig3','vig')
    )
  ) %>%
  mutate(vig_number = 3) %>% 
  left_join(.,respondents, by="resp_id")

vig_data_lucid <- bind_rows(vig1_vars, vig2_vars, vig3_vars)
rm(vig1_vars, vig2_vars, vig3_vars)

#change responses to factors
vig_data_lucid <- vig_data_lucid %>% 
  mutate(vig_gender = as_factor(ifelse(vig_gender=="he", "Male", "Female")),
         vig_income = as_factor(ifelse(vig_income=="$500,000, which is more than what 99 out of 100 American households earn", "$500,000", "$250,000")),
         vig_family_bgr = as_factor(ifelse(vig_family_bgr=="a well-off family, and inherited a large amount of money", "Well-off", "Modest")),
         vig_hard_work = as_factor(ifelse(vig_hard_work=="known as someone who works hard and always puts in the effort", "Works hard", "Does not work hard")),
         vig_treat_workers = as_factor(ifelse(vig_treat_workers=="treating workers fairly and paying them a good wage", "Fairly", "Unfairly")),
         vig_loopholes = as_factor(ifelse(vig_loopholes=="chooses not to do this and just pays the tax rates as they are", "Does not use loopholes", "Uses loopholes")),
         vig_charity = as_factor(ifelse(vig_charity=="does not give money to charities", "Does not donate", "Donates")),
         vig_consumption = as_factor(ifelse(vig_consumption=="a habit of buying expensive and flashy things", "Conspicuous", "Not conspicuous")),
         Partisanship = as_factor(partisanship_q_dummy),
         Income = as_factor(hh_income_above_median)
  )


#relevel to get desired reference categories
vig_data_lucid <- vig_data_lucid %>%
  mutate(vig_gender = relevel(vig_gender, ref="Female"),
         vig_income = relevel(vig_income, ref="$250,000"),
         vig_charity = relevel(vig_charity, ref="Donates"),
         vig_family_bgr = relevel(vig_family_bgr, ref = "Modest"),
         vig_hard_work = relevel(vig_hard_work, ref = "Works hard"),
         vig_loopholes = relevel(vig_loopholes, ref="Does not use loopholes"),
         vig_consumption = relevel(vig_consumption, ref="Not conspicuous"),
         Partisanship = relevel(Partisanship, ref="Republican"),
         Income = relevel(Income, ref="Below median")
         )

#relabel variables for better plot display
attr(vig_data_lucid$vig_gender, "label") <- "Gender"
attr(vig_data_lucid$vig_income, "label") <- "Household income"
attr(vig_data_lucid$vig_family_bgr, "label") <- "Family bgr"
attr(vig_data_lucid$vig_hard_work, "label") <- "Work ethic"
attr(vig_data_lucid$vig_treat_workers, "label") <- "Treats workers"
attr(vig_data_lucid$vig_loopholes, "label") <- "Loopholes"
attr(vig_data_lucid$vig_charity, "label") <- "Charity"
attr(vig_data_lucid$vig_consumption, "label") <- "Consumption"
attr(vig_data_lucid$Income, "label") <- "Household Income"

#formula for estimating amces
f1 <- vig_tax ~ vig_gender + vig_income + vig_family_bgr + vig_hard_work + vig_treat_workers + vig_loopholes + vig_charity + vig_consumption

#estimate basic amce with all variables and then omit gender coefficient for presentation
amces_lucid <- cj(vig_data_lucid, f1, id = ~ resp_id) %>%
  filter(feature!="Gender")
mms_lucid <- mm(vig_data_lucid, f1, id = ~ resp_id) %>%
  filter(feature!="Gender")

#as per pre-registration double-check work ethic impact: subset to only wealthy background vignettes
vig_data_lucid_wealthy <- vig_data_lucid %>%
  filter(vig_family_bgr=="Well-off")
#estimate effect only among the subset of vignettes with well-off family backgrounds
f2 <- vig_tax ~ vig_gender + vig_income + vig_hard_work + vig_treat_workers + vig_loopholes + vig_charity + vig_consumption
amces_wealthy_lucid <- cj(vig_data_lucid_wealthy, f2, id = ~ resp_id) %>%
  filter(feature!="Gender")
mms_wealthy_lucid <- mm(vig_data_lucid_wealthy, f2, id = ~ resp_id) %>%
  filter(feature!="Gender")

# partisanship
vig_data_subset_lucid <- vig_data_lucid[ , c("Partisanship")] 
vig_data_complete_lucid <- vig_data_lucid[complete.cases(vig_data_subset_lucid), ]

# calculate conditional MMs
mms_cond_lucid <- cj(vig_data_complete_lucid, 
          f1,
          id = ~ resp_id, 
          estimate = "mm", 
          by = ~ Partisanship)  %>%
  filter(feature!="Gender")
diff_mms_cond_lucid <- cj(vig_data_complete_lucid, 
          f1,
          id = ~ resp_id, 
          estimate = "mm_diff", 
          by = ~ Partisanship)  %>%
  filter(feature!="Gender")

# calculate conditional amces by partisanship
amces_cond_lucid <- cj(vig_data_complete_lucid, 
          f1,
          id = ~ resp_id, 
          estimate = "amce", 
          by = ~ Partisanship)  %>%
  filter(feature!="Gender")
diff_amces_cond_lucid <- cj(vig_data_complete_lucid, 
          f1,
          id = ~ resp_id, 
          estimate = "amce_diff", 
          by = ~ Partisanship)  %>%
  filter(feature!="Gender")

#prepare plots with sample-specific names so they can be used even after DK data has been read in (because some object names will get over-written as next study is processed)
amces_plot_lucid <- plot(amces_lucid, legend_title=NULL, legend_pos="none")
mms_plot_lucid <- plot(mms_lucid, vline = mean(vig_data_lucid$vig_tax, na.rm=T), legend_title=NULL, legend_pos="none")

#another version for comparison between US and Denmark
mms_plot_lucid_comp <- plot(mms_lucid, vline = mean(vig_data_lucid$vig_tax, na.rm=T), legend_title=NULL, legend_pos="none", xlim=c(3,3.8)) + ggtitle("United States")

#combine plots into one
amces_mms_plot_lucid <- (amces_plot_lucid + mms_plot_lucid) + 
  plot_annotation(title="Support for taxing rich target", subtitle="Experimental results by target attributes, United States sample") &
  theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust=0.5))

#subset to wealthy targets only
amces_wealthy_plot_lucid <- plot(amces_wealthy_lucid, legend_title=NULL, legend_pos="none") + ggtitle("United States")

#plot results by partisanship
mm_by_lucid <- cj(vig_data_lucid, f1, id = ~ resp_id, estimate = "mm", by = ~ Partisanship) %>%
  filter(feature!="Gender")
mm_byparty_plot_us <- plot(mm_by_lucid, group = "Partisanship", xlim=c(2.8,3.9), legend_title=NULL) + 
  plot_annotation(title="Support for taxing rich target", subtitle="Marginal means by target attributes and respondent partisanship, United States") &
  theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust=0.5))

amce_interactions_plot_lucid <- plot(rbind(amces_cond_lucid, diff_amces_cond_lucid), legend_title=NULL, legend_pos="none") + ggplot2::facet_wrap(~BY, ncol = 3L) + 
  plot_annotation(title="Support for taxing rich target", subtitle="Experimental results by target attributes and respondent partisanship, United States sample") &
  theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust=0.5))


# by respondent income 
# calculate conditional amces by income
amces_inc_lucid <- cj(vig_data_complete_lucid, 
          f1,
          id = ~ resp_id, 
          estimate = "amce", 
          by = ~ Income)  %>%
  filter(feature!="Gender")
diff_amces_inc_lucid <- cj(vig_data_complete_lucid, 
          f1,
          id = ~ resp_id, 
          estimate = "amce_diff", 
          by = ~ Income)  %>%
  filter(feature!="Gender")

#plot results by income
amce_interactions_inc_plot_lucid <- plot(rbind(amces_inc_lucid, diff_amces_inc_lucid), legend_title=NULL, legend_pos="none") + ggplot2::facet_wrap(~BY, ncol = 3L)  + 
  plot_annotation(title="Support for taxing rich target", subtitle="Results by target attributes and respondent's household income, United States sample") &
  theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust=0.5))

```

```{r data prep for DK / yougov analysis, include=F, warning=FALSE}
#read in data
yougov_raw <- read_dta(here("Study 3", "Study 3 data.dta"))

#recode data for analysis. 
yougov <- yougov_raw %>% 
  zap_labels(.) %>%
  rename(ResponseId = caseid,
         vig1_gender = q_gender_scr1,
         vig1_income = q_income_scr1,
         vig1_family_bgr = q_famback_scr1,
         vig1_hard_work = q_workethic_scr1,
         vig1_treat_workers = q_treatworkers_scr1,
         vig1_loopholes = q_useloopholes_scr1,
         vig1_charity = q_charitgiving_scr1,
         vig1_consumption = q_conspconsump_scr1,
         vig2_gender = q_gender_scr2,
         vig2_income = q_income_scr2,
         vig2_family_bgr = q_famback_scr2,
         vig2_hard_work = q_workethic_scr2,
         vig2_treat_workers = q_treatworkers_scr2,
         vig2_loopholes = q_useloopholes_scr2,
         vig2_charity = q_charitgiving_scr2,
         vig2_consumption = q_conspconsump_scr2,         
         vig3_gender = q_gender_scr3,
         vig3_income = q_income_scr3,
         vig3_family_bgr = q_famback_scr3,
         vig3_hard_work = q_workethic_scr3,
         vig3_treat_workers = q_treatworkers_scr3,
         vig3_loopholes = q_useloopholes_scr3,
         vig3_charity = q_charitgiving_scr3,
         vig3_consumption = q_conspconsump_scr3,
         vig1_tax = q3a,
         vig2_tax = q3b,
         vig3_tax = q3c,
         vig_open = q4
         ) %>%
  mutate(
    vig1_loopholes = recode(vig1_loopholes, `1`=1, `2`=2,`3`=1,`4`=2),
    vig2_loopholes = recode(vig2_loopholes, `1`=1, `2`=2,`3`=1,`4`=2),
    vig3_loopholes = recode(vig3_loopholes, `1`=1, `2`=2,`3`=1,`4`=2),
    redistr_agree = 6-q5_1,
    tax_highinc_agree = 6-q5_2,
    attention_pass = q5_3==2,
    decrease_spend = 6 - q5_4,
    getahead_aveperson = 6-q6,
    getahead_hw = 4-q7,
    migration_econ_good = q8,
    migration_culture_good = q9,
    migration_good = q10,
    foreignborn = q11==2,
    male = gender_rc==2,
    age_group = profile_age2,
    education = ifelse(profile_education<9, profile_education, NA),
    household_income = ifelse(household_income<12, household_income, NA),
    hh_income_tenthou = recode(household_income, `1`=5, `2`=15, `3`=25, `4`=35, `5`=45, `6`=55, `7`=65,`8`=75, `9`=85, `10`=95, `11`=105),
    hh_income_above_median = ifelse(hh_income_tenthou>median(hh_income_tenthou, na.rm=T), "Above Median", ifelse(is.na(hh_income_tenthou), NA, "Below median")),
    personal_income = ifelse(personal_income<12, personal_income, NA),
    pers_income_tenthou = recode(personal_income, `1`=5, `2`=15, `3`=25, `4`=35, `5`=45, `6`=55, `7`=65,`8`=75, `9`=85, `10`=95, `11`=105),
    partisanship_right = ifelse(political_viewpoint<6, 6-political_viewpoint, NA),
    partisanship_right_dummy = (ifelse(political_viewpoint==6 | political_viewpoint==3, NA, ifelse(political_viewpoint<3, 1,0))),
    screened = status==2
  ) %>% 
  select(-q_useloopholes2_scr1, -q_useloopholes1_scr1, -q_useloopholes2_scr2, -q_useloopholes1_scr2, -q_useloopholes2_scr3, -q_useloopholes1_scr3)

#screeners and exclusions
sum(yougov$screened==1)/nrow(yougov)

#filter, keeping those who passed the screeners
yougov <- yougov %>% filter(screened!=1)

# reformat for conjoint analysis - task based
respondents <- yougov %>%
  select(-starts_with("vig"))

vig1_vars <- yougov %>% 
  select(starts_with("vig1"), ResponseId) %>%
  rename_all(
    funs(
      stringr::str_replace_all(., 'vig1','vig')
    )
  ) %>%
  mutate(vig_number = 1) %>% 
  left_join(.,respondents, by="ResponseId")

vig2_vars <- yougov %>% 
  select(starts_with("vig2"), ResponseId) %>%
  rename_all(
    funs(
      stringr::str_replace_all(., 'vig2','vig')
    )
  ) %>%
  mutate(vig_number = 2) %>% 
  left_join(.,respondents, by="ResponseId")

vig3_vars <- yougov %>% 
  select(starts_with("vig3"), ResponseId) %>%
  rename_all(
    funs(
      stringr::str_replace_all(., 'vig3','vig')
    )
  ) %>%
  mutate(vig_number = 3) %>% 
  left_join(.,respondents, by="ResponseId")

vig_data_yougov <- bind_rows(vig1_vars, vig2_vars, vig3_vars)
rm(vig1_vars, vig2_vars, vig3_vars)

#change responses to factors
vig_data_yougov <- vig_data_yougov %>% 
  mutate(vig_gender = as_factor(ifelse(vig_gender==1, "Male", "Female")),
         vig_income = as_factor(ifelse(vig_income==1, "DKK 50,000", "DKK 130,000")),
         vig_family_bgr = as_factor(ifelse(vig_family_bgr==2, "Well-off", "Modest")),
         vig_hard_work = as_factor(ifelse(vig_hard_work==1, "Works hard", "Does not work hard")),
         vig_treat_workers = as_factor(ifelse(vig_treat_workers==1, "Fairly", "Unfairly")),
         vig_loopholes = as_factor(ifelse(vig_loopholes==2, "Does not use loopholes", "Uses loopholes")),
         vig_charity = as_factor(ifelse(vig_charity==2, "Does not donate", "Donates")),
         vig_consumption = as_factor(ifelse(vig_consumption==2, "Conspicuous", "Not conspicuous")),
         Partisanship = as_factor(ifelse(partisanship_right_dummy==1, "Right-wing", "Left-wing")),
         Income = as_factor(hh_income_above_median)
         )


#relevel to get desired reference categories
vig_data_yougov <- vig_data_yougov %>%
  mutate(vig_gender = relevel(vig_gender, ref="Female"),
         vig_charity = relevel(vig_charity, ref="Donates"),
         vig_loopholes = relevel(vig_loopholes, ref="Does not use loopholes"),
         Partisanship = relevel(Partisanship, ref="Right-wing"),
         Income = relevel(Income, ref="Below median")
         )

#relabel variables for better plot display
attr(vig_data_yougov$vig_gender, "label") <- "Gender"
attr(vig_data_yougov$vig_income, "label") <- "Household income"
attr(vig_data_yougov$vig_family_bgr, "label") <- "Family bgr"
attr(vig_data_yougov$vig_hard_work, "label") <- "Work ethic"
attr(vig_data_yougov$vig_treat_workers, "label") <- "Treats workers"
attr(vig_data_yougov$vig_loopholes, "label") <- "Loopholes"
attr(vig_data_yougov$vig_charity, "label") <- "Charity"
attr(vig_data_yougov$vig_consumption, "label") <- "Consumption"
attr(vig_data_yougov$Income, "label") <- "Household Income"

#formula for estimating amces
f1 <- vig_tax ~ vig_gender + vig_income + vig_family_bgr + vig_hard_work + vig_treat_workers + vig_loopholes + vig_charity + vig_consumption

#estimate basic amce with all variables, then remove gender coefficient for display purposes
amces_yougov <- cj(vig_data_yougov, f1, id = ~ ResponseId) %>%
  filter(feature!="Gender")
mms_yougov <- mm(vig_data_yougov, f1, id = ~ ResponseId) %>%
  filter(feature!="Gender")


#subset to only wealthy background 
vig_data_yougov_wealthy <- vig_data_yougov %>%
  filter(vig_family_bgr=="Well-off")
#estimate effect only among the subset of vignettes with well-off family backgrounds
f2 <- vig_tax ~ vig_gender + vig_income + vig_hard_work + vig_treat_workers + vig_loopholes + vig_charity + vig_consumption
amces_wealthy_yougov <- cj(vig_data_yougov_wealthy, f2, id = ~ ResponseId) %>%
  filter(feature!="Gender")
mms_wealthy_yougov <- mm(vig_data_yougov_wealthy, f2, id = ~ ResponseId) %>%
  filter(feature!="Gender")

# data prep for partisanship
vig_data_yougov_subset <- vig_data_yougov[ , c("Partisanship")] 
vig_data_yougov_complete <- vig_data_yougov[complete.cases(vig_data_yougov_subset), ]

# calculate conditional MMs
mms_cond_yougov <- cj(vig_data_yougov_complete, 
          f1,
          id = ~ ResponseId, 
          estimate = "mm", 
          by = ~ Partisanship) %>%
  filter(feature!="Gender")
diff_mms_cond_yougov <- cj(vig_data_yougov_complete, 
          f1,
          id = ~ ResponseId, 
          estimate = "mm_diff", 
          by = ~ Partisanship) %>%
  filter(feature!="Gender")

# calculate conditional amces
amces_cond_yougov <- cj(vig_data_yougov_complete, 
          f1,
          id = ~ ResponseId, 
          estimate = "amce", 
          by = ~ Partisanship) %>%
  filter(feature!="Gender")
diff_amces_cond_yougov <- cj(vig_data_yougov_complete, 
          f1,
          id = ~ ResponseId, 
          estimate = "amce_diff", 
          by = ~ Partisanship) %>%
  filter(feature!="Gender")

#prepare plots with sample-specific names
amces_plot_yougov <- plot(amces_yougov, legend_title=NULL, legend_pos="none")
mms_plot_yougov <- plot(mms_yougov, vline = mean(vig_data_yougov$vig_tax, na.rm=T), legend_title=NULL, legend_pos="none")
#another version for comparison between US and Denmark
mms_plot_yougov_comp <- plot(mms_yougov, vline = mean(vig_data_yougov$vig_tax, na.rm=T), legend_title=NULL, legend_pos="none", xlim=c(3,3.8)) + ggtitle("Denmark")

amces_mms_plot_yougov <- ggarrange(amces_plot_yougov, mms_plot_yougov)


#wealthy only
amces_wealthy_plot_yougov <- plot(amces_wealthy_yougov, legend_title=NULL, legend_pos="none") + ggtitle("Denmark")

#partisanship
mm_by_yougov <- cj(vig_data_yougov, f1, id = ~ ResponseId, estimate = "mm", by = ~ Partisanship) %>%
  filter(feature!="Gender")
mm_byparty_plot_yougov <- plot(mm_by_yougov, group = "Partisanship", xlim=c(2.8,3.9), legend_title = NULL) +
  plot_annotation(title="Support for taxing rich target", subtitle="Marginal means by target attributes and respondent ideology, Denmark") &
  theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust=0.5))

amce_interactions_plot_yougov <- plot(rbind(amces_cond_yougov, diff_amces_cond_yougov), legend_title=NULL, legend_pos="none") + ggplot2::facet_wrap(~BY, ncol = 3L) + 
  plot_annotation(title="Support for taxing rich target", subtitle="Experimental results by target attributes and respondent ideology, Danish sample") &
  theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust=0.5))


# by respondent income 
# calculate conditional amces by income
amces_inc_yougov <- cj(vig_data_yougov_complete, 
          f1,
          id = ~ ResponseId, 
          estimate = "amce", 
          by = ~ Income)  %>%
  filter(feature!="Gender")
diff_amces_inc_yougov <- cj(vig_data_yougov_complete, 
          f1,
          id = ~ ResponseId, 
          estimate = "amce_diff", 
          by = ~ Income)  %>%
  filter(feature!="Gender")

#plot results by income
amce_interactions_inc_plot_yougov <- plot(rbind(amces_inc_yougov, diff_amces_inc_yougov), legend_title=NULL, legend_pos="none") + ggplot2::facet_wrap(~BY, ncol = 3L) + 
  plot_annotation(title="Support for taxing rich target", subtitle="Results by target attributes and respondent's household income, Danish sample") &
  theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust=0.5))

```

```{r cross-country interaction model, warning=FALSE, include=F}

#create combined dataset
vig_data_lucid_merge <- vig_data_lucid %>%
  select(starts_with("vig_"), resp_id) %>%
  select(-"vig_timing_First Click", -"vig_timing_Last Click", -"vig_timing_Page Submit", -"vig_timing_Click Count") %>%
  mutate(country = "US",
         resp_id = as.character(resp_id),
         vig_income = as.factor(ifelse(vig_income=="$500,000", "High", "Reference"))) %>%
  rename(ResponseId = resp_id)
vig_data_yougov_merge <- vig_data_yougov %>%
  select(starts_with("vig_"), ResponseId) %>%
  mutate(country = "DK",
         ResponseId = as.character(ResponseId),
         vig_income = as.factor(ifelse(vig_income=="DKK 130,000", "High", "Reference")))
vig_data_merged <- bind_rows(vig_data_lucid_merge, vig_data_yougov_merge) %>%
  mutate(country = as.factor(country))

#relevel to get desired reference categories and drop gender
vig_data_merged <- vig_data_merged %>%
  mutate(vig_income = relevel(vig_income, ref="Reference")
         ) 

#relabel variables for better plot display
attr(vig_data_merged$vig_gender, "label") <- "Gender"
attr(vig_data_merged$vig_income, "label") <- "Household income"
attr(vig_data_merged$vig_family_bgr, "label") <- "Family bgr"
attr(vig_data_merged$vig_hard_work, "label") <- "Work ethic"
attr(vig_data_merged$vig_treat_workers, "label") <- "Treats workers"
attr(vig_data_merged$vig_loopholes, "label") <- "Loopholes"
attr(vig_data_merged$vig_charity, "label") <- "Charity"
attr(vig_data_merged$vig_consumption, "label") <- "Consumption"

# calculate conditional amces by country
amces_cond_merged <- cj(vig_data_merged, 
          f1,
          id = ~ ResponseId, 
          estimate = "amce", 
          by = ~ country) %>%
  filter(feature!="Gender")
diff_amces_cond_merged <- cj(vig_data_merged, 
          f1,
          id = ~ ResponseId, 
          estimate = "amce_diff", 
          by = ~ country) %>%
  filter(feature!="Gender")

amce_interactions_plot_merged <- plot(rbind(amces_cond_merged, diff_amces_cond_merged), legend_title=NULL, legend_pos="none") + ggplot2::facet_wrap(~BY, ncol = 3L) + 
  plot_annotation(title="Support for taxing rich target", subtitle="Results by target attributes, across American and Danish respondents") &
  theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust=0.5))
```

```{r equivalence tests, include=F}
library(marginaleffects)
library(survey)
#equivalence tests US 

#re-estimate model in survey instead of cregg in order to run equivalence tests through marginaleffects
margmodelUS_design <- svydesign(
  ids = ~resp_id,
  wts = ~1,
  data = vig_data_lucid
)
margmodelUS_lucid <- svyglm(
  f1,
  design = margmodelUS_design
)
#look at what we've got, make sure it's same as amces from earlier
tidy(margmodelUS_lucid)

#equivalence test: can we reject that the coefficient for well off family is larger/smaller than 0.1
coef(margmodelUS_lucid)[4]
hypotheses(margmodelUS_lucid, equivalence = c(-0.1, 0.1))[4, ]
#also check what size effect can be rejected for the hard work variable which gets discussed in text a lot
#can reject hypothesis that the effect is outside the bounds -0.12 to 0.12
hypotheses(margmodelUS_lucid, equivalence = c(-0.12, 0.12))[5, ]

#contrast with what we can reject for loopholes
#range -.3 - .3 is marginal; we can reject that the effect is outside the bounds -.31, .31
hypotheses(margmodelUS_lucid, equivalence = c(-0.31,0.31))[7, ]

#and for treatment of workers we can reject effect sizes larger than 0.21
hypotheses(margmodelUS_lucid, equivalence = c(-0.22, 0.22))[6, ]

#run for whole model
US_equiv <- tidy(avg_slopes(margmodelUS_lucid, equivalence = c(-.1, .1), newdata=vig_data_lucid)) %>%
  filter(term!="vig_gender") %>%
  select(c("term", "estimate", "std.error", "p.value", "p.value.equiv")) %>%
  rename(Term = term, "US Estimate" = estimate, "US Std. Error" = std.error, "US p-value"=p.value, "US Equiv. p-value"=p.value.equiv) %>%
  mutate(
  Term = recode(Term, vig_charity = "Charity", vig_consumption = "Consumption", vig_family_bgr = "Family background", vig_hard_work = "Hard work", vig_income = "Income", vig_loopholes = "Loopholes", "vig_treat_workers" = "Treat workers")
  )


#Equivalence tests for DK
margmodelDK_design <- svydesign(
  ids = ~ResponseId,
  weights = ~1,
  data = vig_data_yougov
)
margmodelDK_yougov<- svyglm(
  f1,
  design = margmodelDK_design
)

#equivalence test: can we reject that the coefficients are outside the bounds [-.1, .1]
DK_equiv <- tidy(avg_slopes(margmodelDK_yougov, equivalence = c(-.1, .1), newdata=vig_data_yougov)) %>%
  filter(term!="vig_gender") %>%
  select(c("estimate", "std.error", "p.value", "p.value.equiv")) %>%
  rename("DK Estimate" = estimate, "DK Std. Error" = std.error, "DK p-value"=p.value, "DK Equiv. p-value"=p.value.equiv)

#merge the two sets of estimates and p-values
equiv_test <- bind_cols(US_equiv, DK_equiv)

equiv_test_table <- equiv_test %>% 
  kbl(., booktabs=T, caption = "\\label{tab:equiv_test}Equivalence test results for the main experimental effects, US and DK. Showing p-values for the null hypothesis that the causal effect is zero, and equivalence p-values for the null hypothesis that the causal effect falls outside the negligible effect interval defined as (-0.1, 0.1).") %>% 
  kable_styling(latex_options="scale_down") 


#equivalence tests for the difference between left and right in US

#use lm with interaction effects
margmodelUS_lucid_party <- lm(
  vig_tax ~ vig_gender*Partisanship + vig_income*Partisanship + vig_family_bgr*Partisanship + vig_hard_work*Partisanship + vig_treat_workers*Partisanship + vig_loopholes*Partisanship + vig_charity*Partisanship + vig_consumption*Partisanship,
  data=vig_data_lucid
)
#then marginal effects package to get amces
party_amces_US <- margmodelUS_lucid_party %>% 
  avg_slopes(
    variables = c("vig_income","vig_loopholes"),
    by = "Partisanship"
  )

#make a table of pairwise differences in these slopes
#testing whether the difference itself is outside range -.1 - 0.1
party_equiv_US_charity <- tidy(avg_comparisons(margmodelUS_lucid_party, variables = c("vig_charity"), by = "Partisanship", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "Republican - Democrat" = "Charity"))
party_equiv_US_consumption <- tidy(avg_comparisons(margmodelUS_lucid_party, variables = c("vig_consumption"), by = "Partisanship", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "Republican - Democrat" = "Consumption"))
party_equiv_US_family_bgr <- tidy(avg_comparisons(margmodelUS_lucid_party, variables = c("vig_family_bgr"), by = "Partisanship", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "Republican - Democrat" = "Family bgr"))
party_equiv_US_hard_work <- tidy(avg_comparisons(margmodelUS_lucid_party, variables = c("vig_hard_work"), by = "Partisanship", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "Republican - Democrat" = "Hard work"))
party_equiv_US_income <- tidy(avg_comparisons(margmodelUS_lucid_party, variables = c("vig_income"), by = "Partisanship", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "Republican - Democrat" = "Income")) 
party_equiv_US_loopholes <- tidy(avg_comparisons(margmodelUS_lucid_party, variables = c("vig_loopholes"), by = "Partisanship", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "Republican - Democrat" = "Loopholes"))
party_equiv_US_treat_workers <- tidy(avg_comparisons(margmodelUS_lucid_party, variables = c("vig_treat_workers"), by = "Partisanship", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "Republican - Democrat" = "Treat workers"))

party_equiv_US <- bind_rows(party_equiv_US_charity, party_equiv_US_consumption, party_equiv_US_family_bgr, party_equiv_US_hard_work, party_equiv_US_income, party_equiv_US_loopholes, party_equiv_US_treat_workers) %>%
  rename(Term = term, "US Estimated Difference" = estimate, "US Std. Error" = std.error, "US p-value"=p.value, "US Equiv. p-value"=p.value.equiv)

#equivalence tests for the difference between left and right in DK

#use lm with interaction effects
margmodelDK_yougov_party <- lm(
  vig_tax ~ vig_gender*Partisanship + vig_income*Partisanship + vig_family_bgr*Partisanship + vig_hard_work*Partisanship + vig_treat_workers*Partisanship + vig_loopholes*Partisanship + vig_charity*Partisanship + vig_consumption*Partisanship,
  data=vig_data_yougov
)
#then marginal effects package to get amces
party_amces_DK <- margmodelDK_yougov_party %>% 
  avg_slopes(
    variables = c("vig_income","vig_loopholes"),
    by = "Partisanship"
  )

#make a table of pairwise differences in these slopes
#testing whether the difference itself is outside range -.1 - 0.1
party_equiv_DK_charity <- tidy(avg_comparisons(margmodelDK_yougov_party, variables = c("vig_charity"), by = "Partisanship", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "(Right-wing) - (Left-wing)" = "Charity"))
party_equiv_DK_consumption <- tidy(avg_comparisons(margmodelDK_yougov_party, variables = c("vig_consumption"), by = "Partisanship", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "(Right-wing) - (Left-wing)" = "Consumption"))
party_equiv_DK_family_bgr <- tidy(avg_comparisons(margmodelDK_yougov_party, variables = c("vig_family_bgr"), by = "Partisanship", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "(Right-wing) - (Left-wing)" = "Family bgr"))
party_equiv_DK_hard_work <- tidy(avg_comparisons(margmodelDK_yougov_party, variables = c("vig_hard_work"), by = "Partisanship", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "(Right-wing) - (Left-wing)" = "Hard work"))
party_equiv_DK_income <- tidy(avg_comparisons(margmodelDK_yougov_party, variables = c("vig_income"), by = "Partisanship", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "(Right-wing) - (Left-wing)" = "Income")) 
party_equiv_DK_loopholes <- tidy(avg_comparisons(margmodelDK_yougov_party, variables = c("vig_loopholes"), by = "Partisanship", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "(Right-wing) - (Left-wing)" = "Loopholes"))
party_equiv_DK_treat_workers <- tidy(avg_comparisons(margmodelDK_yougov_party, variables = c("vig_treat_workers"), by = "Partisanship", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "(Right-wing) - (Left-wing)" = "Treat workers"))
party_equiv_DK <- bind_rows(party_equiv_DK_charity, party_equiv_DK_consumption, party_equiv_DK_family_bgr, party_equiv_DK_hard_work, party_equiv_DK_income, party_equiv_DK_loopholes, party_equiv_DK_treat_workers) %>%
  select(c(-term)) %>%
  rename("DK Estimated Difference" = estimate, "DK Std. Error" = std.error, "DK p-value"=p.value, "DK Equiv. p-value"=p.value.equiv)

party_equiv <- bind_cols(party_equiv_US, party_equiv_DK)

party_equiv_test_table <- party_equiv %>% 
  kbl(., booktabs=T, caption = "\\label{tab:party_equiv_test}Equivalence test results for the difference in experimental effects between left-wing and right-wing respondents in the US and DK. Showing p-values for the null hypothesis that the difference in causal effects is zero, and equivalence p-values for the null hypothesis that the difference in causal effects falls outside the negligible difference interval defined as (-0.1, 0.1).") %>% 
  kable_styling(latex_options="scale_down") 

### Equivalence tests of cross-national differences 

#use lm with interaction effects
margmodel_cross_national <- lm(
  vig_tax ~ vig_gender*country + vig_income*country + vig_family_bgr*country + vig_hard_work*country + vig_treat_workers*country + vig_loopholes*country + vig_charity*country + vig_consumption*country,
  data=vig_data_merged
)

#make a table of pairwise differences in these slopes
#testing whether the difference itself is outside range -.1 - 0.1
cn_equiv_charity <- tidy(avg_comparisons(margmodel_cross_national, variables = c("vig_charity"), by = "country", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "DK - US" = "Charity"))
cn_equiv_consumption <- tidy(avg_comparisons(margmodel_cross_national, variables = c("vig_consumption"), by = "country", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "DK - US" = "Consumption"))
cn_equiv_family_bgr <- tidy(avg_comparisons(margmodel_cross_national, variables = c("vig_family_bgr"), by = "country", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "DK - US" = "Family bgr"))
cn_equiv_hard_work <- tidy(avg_comparisons(margmodel_cross_national, variables = c("vig_hard_work"), by = "country", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "DK - US" = "Hard work"))
cn_equiv_income <- tidy(avg_comparisons(margmodel_cross_national, variables = c("vig_income"), by = "country", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "DK - US" = "Income")) 
cn_equiv_loopholes <- tidy(avg_comparisons(margmodel_cross_national, variables = c("vig_loopholes"), by = "country", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "DK - US" = "Loopholes"))
cn_equiv_treat_workers <- tidy(avg_comparisons(margmodel_cross_national, variables = c("vig_treat_workers"), by = "country", hypothesis = "pairwise", equivalence = c(-.1, .1))) %>%
  select("term", "estimate", "std.error", "p.value", "p.value.equiv") %>%
  mutate(term = recode(term, "DK - US" = "Treat workers"))

cn_equiv <- bind_rows(cn_equiv_charity, cn_equiv_consumption, cn_equiv_family_bgr, cn_equiv_hard_work, cn_equiv_income, cn_equiv_loopholes, cn_equiv_treat_workers) %>%
  rename(Term = term, "US vs. DK Estimated Difference" = estimate, "Std. Error" = std.error, "P-value"=p.value, "Equiv. p-value"=p.value.equiv)

comp_equiv_test_table <- cn_equiv %>% 
  kbl(., booktabs=T, caption = "\\label{tab:comp_equiv_test}Equivalence test results for the difference in experimental effects between respondents in the US and DK. Showing p-values for the null hypothesis that the difference in causal effects is zero, and equivalence p-values for the null hypothesis that the difference in causal effects falls outside the negligible difference interval defined as (-0.1, 0.1).") %>% 
  kable_styling(latex_options="scale_down") 

#also find out what effect can be ruled out for the largest estimated difference (treat workers)
avg_comparisons(margmodel_cross_national, variables = c("vig_hard_work"), by = "country", hypothesis = "pairwise", equivalence = c(-.12, .12))
#this means that we can reject the null that differences in effect lie outside the range (-.12 to .12) 
```

The studies reported in this section are pre-registered conjoint survey experiments.\footnote{The pre-registration is available online at https://osf.io/6prba.} The design of the pre-registered studies was additionally informed by a pilot experiment (see Appendix A2 for a full description and results). The pre-registered experiments tested the three causal hypotheses in this paper: one about the effect of attributes on support for taxation, and two about the stability of these effects across culture and political leaning. Hypotheses 2 and 3 remain unchanged from above; the fully formulated and pre-registered version of Hypothesis 1 reads:

> *Hypothesis 1:* The following attributes of rich targets increase support for higher income taxes on the rich: high income, coming from a wealthy family, having a poor work ethic, treating workers unfairly, using tax loopholes, not donating to charity, and engaging in conspicuous consumption.

## Methods

The experiments use the conjoint survey experiment format, which is well suited to experiments with numerous independent variables [@hainmueller2014] and has previously been used to examine how attributes of the poor affect their perceived eligibility for social welfare [@kootstra2016; @reeskens2019]. In this type of experiment, multiple characteristics of a hypothetical individual are randomly assigned within a list or vignette, and the respondents read and react to one or several hypothetical individuals. The fact that the characteristics are assigned randomly allows the researcher to isolate the causal impact of each attribute separately, as well as to explore interactions between attributes.

The conjoint experiments are formulated as vignettes that describe hypothetical rich individuals. Each respondent saw three vignettes, with treatments randomly assigned within each vignette. The vignettes were identical in the United States and Denmark,\footnote{As a cultural consideration, the treatment about loopholes is worded so that its meaning would be clear in both countries. While use of a tax accountant by the well-to-do is a widely known practice in the United States, it is less common in Denmark. Therefore, the vignette clarifies that the person has the option to emply an accountant in order to use legal tax loopholes, and chooses to (not) do this.} with the exception of the household income variable which was adjusted to local conditions but reflected the same income percentiles.\footnote{The 90th percentile was USD 250,000 per year in the United States and DKK 50,000 per month in Denmark; the 99th percentile was USD 500,000 per year in the United States and DKK 125,000 per month in Denmark.} An example US vignette is included below, with randomized elements shown in bold.

> Imagine a person who has a household income of **[\$250,000, which is more than what 9 out of 10 American households earn] / [\$500,000 per year, which is more than what 99 out of 100 American households earn]**. She\footnote{Each vignette was randomly assigned male or female pronouns for the sake of ease of reading. Gender was not a variable of theoretical interest a priori, and results showed no significant impact of target gender on support for progressive taxation. The variable was included in the statistical models as specified in the pre-registration, but is not reported on further.} comes from **[a modest family background and did not inherit any money] / [a well-off family, and inherited a large amount of money]** from her parents.

> In the workplace, she is **[known as someone who works hard and always puts in the effort] / [not known as someone who works hard, but rather has a tendency to slack off]**. At the same time, she has a reputation for **[treating workers fairly and paying them a good wage] / [treating workers unfairly and paying them very low wages]**.

> When it comes to paying taxes, **[even though she could employ an accountant to help her make use of tax loopholes and pay less taxes, she chooses not to do this and just pays the tax rates as they are] / [she employs an accountant who helps her make the most use of tax loopholes, so that she pays the smallest amount of taxes legally possible]**.

> Outside of work, she **[regularly gives money to different charities] / [does not give money to charities]**. At the same time she has **[modest habits and does not often buy expensive and flashy things] / [the habit of buying expensive and flashy things]**.

The outcome variable was the question "What, in your opinion, would be fair when it comes to income taxes for people like him/her?". The response options were a 5-point Likert scale labeled (from 1 to 5) "Reduced a lot", "Reduced a little", "Stay the same", "Increased a little", and "Increased a lot". The choice of a directional scale (more/less taxation) was deliberate to avoid the complexity that arises from asking about tax rates. Because perceptions of current rates may vary, asking for ideal tax rates becomes complicated, as it would be unclear whether respondents mean to increase or decrease taxes on the targets. Perceptions are particularly likely to vary across countries because income tax rates are in fact different in the US and Denmark, with a top marginal tax rate of 55.9% in Denmark and 43.7% in the United States in 2020 [@oecd2023]. This feature of the tax code is a benefit for a comparative design that asks whether reactions to the rich are similar across different tax regimes, but it would limit the interpretability of a dependent variable that collects respondents' stated preferences for marginal tax rates. Concerns around numeracy mean that providing the respondents with information about actual marginal or effective income tax rates may not be understood equally across respondents. Finally, this format of a directional rather than absolute response has previously been used successfully in the literature on support for redistribution [@desante2013; @aaroe2014; @hansen2023].

The two studies were carried out on quota-samples designed to be representative with respect to key demographic variables in the United States and Denmark, respectively.\footnote{The samples were collected through the survey companies YouGov in Denmark and Lucid in the United States. The studies were approved by the University of Memphis IRB.} The studies fielded in December 2020 - January 2021 with a final sample of `r nrow(lucid)` in the United States\footnote{The pre-registration plan specified a target sample size of 1,200 for each country. The larger sample size for the United States occurred due to initial vendor difficulties in ensuring representativeness on target demographic variables. No analysis of the substantive variables occurred before sample collection was complete.} and `r nrow(yougov)` in Denmark. Both samples are drawn from opt-in online panels, with quotas applied to make the samples representative on key observables as defined by the survey companies (gender, age, household income, region, ethnicity, race, and education in the United States, and gender, age, region, and education in Denmark). See Appendix A3 for tables of demographic characteristics. The quota-sampling offers some protection against the risk of sample bias, though potential imbalance on non-observables remains a limitation. In particular, it is not clear whether and how much the respondents differ from the broader public on features like occupational status or political engagement. While recent research suggests that experimental results are robust to a certain amount of variation in representativeness [@coppock2018; @moniz2024], this limitation may nonetheless have implications for generalizability that future research should assess.

## Results

### Study 2 — United States

The American respondents were `r round(sum(lucid$male==1, na.rm=T)*100/nrow(lucid),0)`% male, `r round(sum(lucid$white_lucid==1, na.rm=T)*100/nrow(lucid),0)`% white, `r round(sum(lucid$black_lucid==1, na.rm=T)*100/nrow(lucid),0)`% African American, `r round(sum(lucid$hispanic_lucid_dummy==1, na.rm=T)*100/nrow(lucid),0)`% Hispanic (of any race), and `r round(sum(lucid$education_lucid>7 & lucid$education_lucid<12, na.rm=T)*100/nrow(lucid),0)`% college-educated. The median annual household income was in the \$50,000-\$60,000 category; a rough estimate of the mean household income is \$67,000. `r round(sum(lucid$hhi_lucid>20, na.rm=T)*100/nrow(lucid),0)`% of respondents reported a household income over \$150,000. `r round(sum(lucid$democrat_lucid==1, na.rm=T)*100/nrow(lucid),0)`% of respondents identified as Democrats and `r round(sum(lucid$republican_lucid, na.rm=T)*100/nrow(lucid),0)`% as Republicans. The experiment was analyzed according to the pre-registration plan, using the 'cregg' package in R [@leeper2020]. The results are visualized in Figure \ref{fig:cj_results_lucid}.

The average respondent, across all conditions, leans toward increasing income taxes for the rich targets. Across all vignettes, the mean response was `r mean(vig_data_lucid$vig_tax, na.rm=T)` (s.d. `r sd(vig_data_lucid$vig_tax, na.rm=T)`) on a 1-5 scale, meaning that on average, respondents land between recommending that the targets' taxes "remain the same" (3) and that they be "increased a little" (4). Across all vignettes, only `r round(sum(vig_data_lucid$vig_tax<3, na.rm=T)*100/nrow(vig_data_lucid),0)`% of responses favor decreasing taxes. In other words, the respondents generally support increasing taxes on the rich, and the variations induced by vignette features change the strength, not the direction, of this recommendation.

```{r mms and amces together plot lucid, fig.cap="\\label{fig:cj_results_lucid}Results from conjoint experiment in Study 2, United States. Showing average marginal component effects (AMCE) on the left and marginal means on the right. Higher values of the outcome variable (scale 1-5) indicate stronger support for increasing income taxes for the target individual. The grey line in the marginal means plot is the grand mean."}
amces_mms_plot_lucid
```

As Figure \ref{fig:cj_results_lucid} shows, the target being from a well-off family does not affect support for increasing the target's taxes. The Average Marginal Component Effect (AMCE) for each treatment variable measures the impact of the treatment condition compared to the baseline condition. The AMCE for being from a well-off family, compared to a modest family background, is `r amces_lucid[amces_lucid$level=="Well-off","estimate"]` points on a 1-5 scale (p = `r amces_lucid[amces_lucid$level=="Well-off","p"]`). The impact of the related "hard work" cue is statistically significant but substantively small (AMCE `r amces_lucid[amces_lucid$level=="Does not work hard","estimate"]`, p = `r amces_lucid[amces_lucid$level=="Does not work hard","p"]`). The pre-registration plan specified an additional analysis of the "hard work" cue, due to concerns that the combination of a modest family background and lack of strong work ethic would send confusing signals about how the target had achieved a high income. The pre-registration specified that the effect of hard work would additionally be analyzed only among vignettes that were described as being from a wealthy family. This analysis returned null results (AMCE `r amces_wealthy_lucid[amces_wealthy_lucid$level=="Does not work hard","estimate"]`, p = `r amces_wealthy_lucid[amces_wealthy_lucid$level=="Does not work hard","p"]`; full results available in Appendix A4). 

Returning to analysis of the full sample, equivalence testing (details in Appendix A5) reveals that, at the standard p=0.05 cut-off, the data is inconsistent with an effect size of more than 0.1 on a 1-5 scale for the family background variable, and is inconsistent with an effect size of more than 0.12 for the hard work variable. In all, the evidence is somewhat inconclusive in terms of the standard cut-off for statistical significance, but at the very least indicates a substantively small impact of the "hard work" variable on the legitimacy of progressive taxes. Even though hard work was the single most common association with the deserving rich in Study 1, it has the smallest — and depending on which of the two pre-registered specifications one prefers, insignificant — impact on support for progressive taxation.

Instead of hard work and family background, the target's use of tax loopholes (AMCE `r amces_lucid[amces_lucid$level=="Uses loopholes","estimate"]`, p \< 0.01) and their treatment of workers (AMCE `r amces_lucid[amces_lucid$level=="Unfairly","estimate"]`, p \< 0.01) emerge as the attributes that have the largest impact on support for taxing the rich. The use of loopholes in particular causes a quarter of a point change on the 5-point scale of the outcome variable; it is also equivalent to a Cohen's d of 0.24 or roughly one out of every four respondents moving one step up on the response scale.\footnote{I take this finding at face value: that people want to increase tax rates on those who do not cooperate with the tax system. However, a slightly different interpretation is that for some respondents, the loophole treatment reminds them of failures in the taxation system rather than highlighting an attribute of the rich. These respondents may be expressing a desire to "fix" the tax system rather than increase marginal income tax rates. Since "closing loopholes" would amount to a de facto tax increase on the rich, I choose to interpret this as the same as an endorsement of tax increases, but acknowledge that future research may shed more light on how respondents interpret this item.} Not giving to charity is also significantly (AMCE `r amces_lucid[amces_lucid$level=="Does not donate","estimate"]`, p \< 0.01) associated with increased support for taxing the target. Additionally, conspicuous consumption (AMCE `r amces_lucid[amces_lucid$level=="Conspicuous","estimate"]`, p \< 0.01) increases support for taxing the target. Finally, there is a significant impact of the target's household income on the respondents' willingness to increase the target's income taxes (AMCE `r amces_lucid[amces_lucid$level=="$500,000","estimate"]`, p\<0.01). An additional, exploratory analysis asked whether there were heterogeneous treatment effects across respondents' own income, but found no significant differences between respondents with above and below median household incomes; see Appendix A6 for details.

With the exception of family background and possibly also hard work, the expectations laid out in Hypothesis 1 are thus supported in the United States sample. Further lending credence to the findings, these results exhibit the same overall pattern, though with improved statistical power, as those in the pilot experiment (described in Appendix A2).

### Study 3 — Denmark

The Danish respondents were `r round(sum(yougov$male==1, na.rm=T)*100/nrow(yougov),0)`% male, `r round(sum(yougov$foreignborn==1, na.rm=T)*100/nrow(yougov),0)`% foreign-born, and `r round(sum(yougov$profile_education>5 & yougov$profile_education!=9, na.rm=T)*100/nrow(yougov),0)`% college-educated. The median household income was in the range of DKK 400,000-500,000 per year, and a rough estimate of the mean household income places it around DKK 500,000 per year. `r round(sum(yougov$hh_income_tenthou>90, na.rm=T)*100/nrow(yougov),0)`% of respondents reported a household income over DKK 900,000. `r round(sum(yougov$political_viewpoint<3, na.rm=T)*100/nrow(yougov),0)`% say their political viewpoint is to the right of center, and `r round(sum(yougov$political_viewpoint>3 & yougov$political_viewpoint!=6, na.rm=T)*100/nrow(yougov),0)`% say their political viewpoint is to the left of center. The visual presentation below focuses on cross-country comparisons in treatment effects; for a visualization of Danish results that includes marginal means, see Appendix A7.

The Danish sample overall is slightly less supportive of increasing taxes on the rich targets than the US sample (though as mentioned above, Denmark has higher top marginal tax rates than the United States, so this result can be consistent with overall support for higher taxes). Across all vignettes, mean support for taxing the rich is `r mean(vig_data_yougov$vig_tax, na.rm=T)` (s.d. `r sd(vig_data_yougov$vig_tax, na.rm=T)`). While this is slightly lower than the US average (`r mean(vig_data_lucid$vig_tax, na.rm=T)`), Danes, like Americans, land in between recommending that the targets' taxes "remain the same" and that they be "increased a little". As in the US, reducing taxes on the rich is unpopular: `r round(sum(vig_data_yougov$vig_tax<3, na.rm=T)*100/nrow(vig_data_yougov),0)`% of respondents support decreasing taxes.

```{r amces interaction plot by country, fig.cap="\\label{fig:interaction_by_country}Comparison of results from Studies 2 (US) and 3 (Denmark). Showing AMCEs from Denmark in the left panel, US AMCEs in the middle panel, and the estimated difference in the right panel. Note that this figure only shows treatment effects and does not display differences in underlying support for increasing taxes on the targets; see Appendix A7 for a comparison of marginal means."}
amce_interactions_plot_merged
```

Hypothesis 2 predicted the same pattern of results in Denmark as in the United States, and as the results in Figure \ref{fig:interaction_by_country} show, the prediction of cross-cultural stability in causal effects is confirmed. Just as in the United States, the target's family background (AMCE `r amces_yougov[amces_yougov$level=="Well-off","estimate"]`, p = `r amces_yougov[amces_yougov$level=="Well-off","p"]`) does not affect the respondents' support for taxing the targets. Additionally, the work ethic treatment has no significant effect on support for progressive taxes in the Danish sample (AMCE `r amces_yougov[amces_yougov$level=="Does not work hard","estimate"]`, p = `r amces_yougov[amces_yougov$level=="Does not work hard","p"]`).\footnote{As in the United States, the additional pre-registered analysis of the effect of the "hard work" treatment among targets from wealthy backgrounds reveals no effect of the work ethic treatment (detailed results in Appendix A4).} Equivalence testing, with the range of negligible effects defined as (-0.1, 0.1), indicates that the data is inconsistent with effect sizes larger than 0.1 for either the family background or the work ethic attributes.

The remaining variables all predict support for increasing taxes on the rich in similar ways as in the United States. Even though the use of a tax accountant, and broader concerns about the use of tax loopholes, are culturally less prominent in Denmark, the treatment that describes a rich target avoiding taxes in legal ways has the largest effect on support for increasing taxes (AMCE `r amces_yougov[amces_yougov$level=="Uses loopholes","estimate"]`, p \< 0.01). The estimated effect size here is 0.25 on a 1-5 scale, which amounts to 0.28 standard deviations of the outcome variable and is substantively the same size effect as that found in the United States sample. Unfair treatment of workers also matters significantly (AMCE `r amces_yougov[amces_yougov$level=="Unfairly","estimate"]`, p \< 0.01), despite the stronger welfare state protections in place in Denmark for those who lose their jobs. Charitable donations have an insignificant effect in the Danish sample (AMCE `r amces_yougov[amces_yougov$level=="Does not donate","estimate"]`, p = `r amces_yougov[amces_yougov$level=="Does not donate","p"]`), but the Danish point estimate is substantively similar to the 0.1 point estimate in the United States sample. As in the American sample, the target's household income enhanced respondents' willingness to increase the target's income taxes (AMCE `r amces_yougov[amces_yougov$level=="DKK 130,000","estimate"]`, p\<0.01), and conspicuous consumption (AMCE `r amces_yougov[amces_yougov$level=="Conspicuous","estimate"]`, p\<0.01) also increased support for progressive taxes.

This pattern of results is overall very similar to the pattern found in the United States. The similarity can be further probed with equivalence tests (tables in Appendix A5). When the range of negligible differences between effects is defined as (-0.1, 0.1), then the null of a substantive difference in effect sizes between the US and Denmark can be rejected for conspicuous consumption, family background, income, and loophole use. A null hypothesis of a substantive difference outside the range (-0.13, 0.13) can be rejected for all attributes.

Overall, these results support Hypothesis 2: the effects of attributes of the rich are consistent across two different economic and cultural contexts. The fact that variables that were based on a qualitative study with American respondents yielded results that hold in Denmark, with its different economic, political, and cultural context, supports the interpretation that — just like assessments of the poor — assessments of the rich are affected by similar considerations even across sociopolitical contexts.

### Partisan differences

Hypothesis 3 predicted that there would not be significant differences in treatment effects between left-wing and right-wing respondents. Respondents are classified as left-wing and right-wing by using partisan identity in the United States, where identification with one of the two major parties is a powerful indicator of political differences [@finkel2020]. In Denmark, where there is a proportional representation and multi-party system and where, as in much of Western Europe, partisan identities have become weaker over time, I use left-right self-positioning which is known to reflect people's party preferences and issue positions in this region [@jou2017; @steiner2024].

Figures \ref{fig:party_results_lucid} and \ref{fig:party_results_yougov} show interaction effects between Republican and Democratic respondents in the US sample, and left-wing and right-wing respondents in the Danish sample respectively. The figures display only treatment effects, and do not show differences in baseline support for progressive taxation. In both countries, there are significant differences in overall support for progressive taxation between left-wing and right-wing respondents; these differences endure within treatment conditions (see Appendix A8). Across all conditions, Democrats support increasing taxes on the target individuals at `r mean(vig_data_lucid[vig_data_lucid$democrat_lucid==1,]$vig_tax, na.rm=T)` on the 1-5 scale, while Republicans are at `r mean(vig_data_lucid[vig_data_lucid$republican_lucid==1,]$vig_tax, na.rm=T)`. In the Danish sample, left-wing respondents across all conditions average `r mean(vig_data_yougov[vig_data_yougov$political_viewpoint==4 |vig_data_yougov$political_viewpoint==5,]$vig_tax, na.rm=T)`, while right-wing respondents average `r mean(vig_data_yougov[vig_data_yougov$political_viewpoint<3,]$vig_tax, na.rm=T)`. Despite these underlying partisan differences, Figures \ref{fig:party_results_lucid} and \ref{fig:party_results_yougov} show that treatment effects are generally similar across partisanship in both countries, though some reactions are driven more strongly by one side of the political spectrum.

Neither left-wing nor right-wing respondents in either country make significant use of the cues of hard work or family background when deciding what tax level would be appropriate for the target. Both left-wing and right-wing respondents react to the targets' use of tax loopholes and their poor treatment of workers; these behaviors legitimize higher taxes for all groups of respondents. However, in the United States there are partisan differences in the intensity of the response: Democrats are less responsive than Republicans to treatment of workers (estimated difference in AMCE `r diff_amces_cond_lucid[diff_amces_cond_lucid$level=="Unfairly","estimate"]`, p=`r diff_amces_cond_lucid[diff_amces_cond_lucid$level=="Unfairly","p"]`), but more responsive to the use of tax loopholes (estimated difference in AMCE `r diff_amces_cond_lucid[diff_amces_cond_lucid$level=="Uses loopholes","estimate"]`, p\<0.01). A similar pattern appears in Denmark, though the partisan differences are not statistically significant in this smaller sample.

Both left-wing and right-wing respondents react to targets with higher incomes by proposing higher taxes. This reaction may be stronger among left-wing respondents in Denmark (estimated difference `r diff_amces_cond_yougov[diff_amces_cond_yougov$level=="DKK 130,000","estimate"]`, p=`r diff_amces_cond_yougov[diff_amces_cond_yougov$level=="DKK 130,000","p"]`); the difference between partisans is not significant in the United States (estimated difference `r diff_amces_cond_lucid[diff_amces_cond_lucid$level=="$500,000","estimate"]`, p=`r diff_amces_cond_lucid[diff_amces_cond_lucid$level=="$500,000","p"]`). Reactions to charitable donations and conspicuous consumption are the same for left-wing and right-wing respondents in Denmark. In the United States, the impact of the charitable donations treatment appears to be driven by Democrats, with a marginally significant difference in AMCE (`r diff_amces_cond_lucid[diff_amces_cond_lucid$level=="Does not donate","estimate"]`, p = `r diff_amces_cond_lucid[diff_amces_cond_lucid$level=="Does not donate","p"]`). Finally, there do not appear to be partisan differences in reactions to conspicuous consumption.

One important caveat to these conclusions is that the analyses of political differences rely on dividing the country-specific samples further by political leaning, with attendant losses in statistical power. Despite similar point estimates and low rates of statistically significant differences in effect size, this loss of power means that equivalence tests are not well powered. The null hypothesis that partisan differences are not contained in the negligible interval of (-0.1, 0.1) can only be rejected for the impact of hard work in the United States (where the point estimate of the difference is 0.00); the data is consistent with effects larger than 0.1 for the other variables (tables in Appendix A5). The conclusion of limited differences by political leaning thus rests primarily on the similarity in patterns of point estimates, as the existence of larger, potentially substantive, differences cannot be statistically rejected.

The overall picture of partisan reasoning about high incomes and the fairness of progressive taxation is somewhat less uniform in results and less well statistically powered than the cross-national analysis, but the overall picture remains one of similarity. All point estimates are in the same direction, and in both countries, the cues of hard work and family background are less relevant than the use of tax loopholes and treatment of workers for left-wing and right-wing respondents alike. However, some differences in the intensity of reactions are also clear; in particular, the causal effects of treatment of workers and use of tax loopholes are driven more strongly by different sides of the political spectrum. Hypothesis 3 is thus largely, but not completely, confirmed.

```{r amce by partisanship lucid, fig.cap="\\label{fig:party_results_lucid}Results by partisanship, Study 2 in the United States. Showing AMCEs by partisanship. Note that marginal means between the groups differ significantly (not shown here, see Appendix A8). Higher values of the outcome variable indicate stronger support for increasing income taxes for the target individual."}
amce_interactions_plot_lucid
```

```{r amce by partisanship yougov, fig.cap="\\label{fig:party_results_yougov}Results by political affiliation, Study 3 in Denmark. Showing AMCEs by political affiliation. Note that marginal means between the groups differ significantly (not shown here, see Appendix A8). Higher values of the outcome variable indicate stronger support for increasing income taxes for the target individual."}
amce_interactions_plot_yougov
```

The results demonstrate that attributes of the rich affect support for taxing the rich. However, only a subset of tested attributes have this effect, and the causal relationship looks different than we might expect based on the relative prominence of these attributes in open-ended responses. In Study 1, Americans associated the deserving rich with hard work more than with any other variable. However, whether the rich work hard was not an important determinant of support for taxes in Studies 2-3. Instead, use of tax loopholes and poor treatment of workers were the attributes with the largest impact on support for taxing the rich. Hypothesis 1, that attributes of the rich affect support for taxing the rich, was thus generally supported, with the exception of two meritocracy-related variables. The findings also largely supported Hypotheses 2 and 3, which expected null differences in treatment effects across the United States and Denmark, and across left-wing and right-wing respondents.

# Discussion

This article shows that attributes of rich individuals affect public support for increasing income taxes on the rich. Support for taxing the rich is most affected by indicators of pro-social behavior (such as whether the rich treat their workers well and whether they use tax loopholes). By contrast, two indicators of meritocracy (whether the rich work hard and whether they have "worked their way up" from a modest background) are not as important. The treatment effects are broadly the same for right-wing and left-wing respondents, and for respondents in the United States and Denmark.

The limitations of the study can be broadly categorized into scope conditions and limitations of the methodology. In terms of scope conditions, the countries in this study were selected to represent two different types of industrialized democratic welfare state; the results may thus generalize to other countries within this group, but not necessarily beyond it, e.g. to the global South. Additionally, the open-ended themes were collected only in the United States, which leaves open the possibility that there are relevant themes in Denmark that this study missed. Turning to limitations that arise from using a conjoint experiment, the outcome variable was judgments of individuals, and future research should thus explore how well these findings generalize to judgments of the rich as a group. It is also possible that some of the experimental results are due to unexpected characteristics being particularly salient: if a respondent does not expect that a rich person would maltreat their workers or voluntarily refrain from using tax loopholes, then the unexpected nature of the information may make this attribute more salient and increase its measured impact.

The findings speak to several strands in recent theoretical and empirical work on the politics of redistribution. Perhaps most surprisingly, they call into question the centrality of meritocratic considerations when it comes to support for taxing the rich. Despite a strong correlation between perceptions that the rich work hard and low support for taxing the rich [@ragusa2015; @sadin2017], as well as a strong tendency to associate the deserving rich with hard work in Study 1, the experimental findings in Studies 2-3 suggest that this correlation is probably not causal. Instead, the correlation may emerge through ideological bundling and elite cues [@slothuus2021a].

Rather than meritocratic considerations, the most consequential features of the rich are related to their pro-social behavior; this pattern echoes the conclusion in @hansen2023 that attitudes toward the rich are driven primarily by perceptions of the pro-sociality of the rich. Similar findings regarding the importance of the perceived greed of the rich also appear in @kane2023. While these prior papers focus on the importance of greed and generosity as indicators of pro-sociality, the results here suggest that the public also evaluates pro-sociality through charitable giving, loophole use, and treatment of workers.

The finding that loophole use in particular has a strong effect on support for taxation speaks to the role of the relationship between the rich and the state, echoing recent results in @alvarado2024, who finds that receiving preferential treatment by the state can justify subsequent taxation of the beneficiaries. Finally, even in the presence of all other cues, income itself continues to be a significant determinant of willingness to tax the rich, which indicates a commitment to tax progressivity that persists regardless of other characteristics of the rich.

The findings have practical relevance for understanding the consequences of political discourse regarding the rich. Political actors occasionally emphasize the personal attributes of the rich in order to shore up (or undermine) support for progressive taxes. The findings in this paper suggest that this tactic is more likely to succeed with some attributes than others. The personal work ethic of the rich is a common feature of these debates, but may not be a particularly effective rhetorical strategy. More powerful attributes of the rich include whether they pay their taxes, treat their workers well, and give to charity. Each of these attributes features in political debate: stories of tax avoidance or unfair treatment of workers usually come from those advocating higher taxes on the rich, while stories emphasizing the charitable giving of the rich and how well they treat their employees come from those opposing such proposals. The findings here support the political intuition that underlies these efforts: that one can affect support for progressive income taxes by shaping public perceptions of the rich.

Finally, the results suggest some important follow-up questions. In particular, the findings highlight the importance of descriptive research regarding the prevalence of various perceptions of the rich. How common are perceptions that the rich give to charity, exploit workers, or use tax loopholes? How do these perceptions vary across groups, places, and time? How do such perceptions change: how important are economic realities, elite rhetoric, geographic segregation, and media coverage in shaping these perceptions? Understanding the answers to these follow-up questions will help us further our understanding of the dynamics of public preferences for tax policy.

\newpage

# References {.unnumbered}

::: {#refs}
:::
